ElectronでSQLiteデータベースを使用するメリットとデメリット
Electronでsqlite3モジュールを使用する方法
sqlite3モジュールのインストール
まず、Electronプロジェクトにsqlite3モジュールをインストールする必要があります。
npm install sqlite3 --save
データベースの作成
次に、データベースファイルを作成する必要があります。
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydb.sqlite3');
db.run('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)');
データの挿入
データはINSERT
ステートメントを使用して挿入できます。
const stmt = db.prepare('INSERT INTO users (name) VALUES (?)');
stmt.run('John Doe');
stmt.run('Jane Doe');
stmt.finalize();
const rows = db.all('SELECT * FROM users');
for (const row of rows) {
console.log(row.id, row.name);
}
db.close();
詳細については、以下のリソースを参照してください。
その他の注意事項
- Electronでsqlite3モジュールを使用するには、Node.jsバージョン10以上が必要です。
- SQLiteデータベースは、Electronアプリと同じディレクトリに配置する必要があります。
- 開発環境によっては、ビルド時に
sqlite3
モジュールを再ビルドする必要がある場合があります。
補足
- 上記のコードは、基本的な操作のみを示しています。
- より複雑な操作を行う場合は、公式ドキュメントを参照してください。
- エラーが発生した場合は、エラーメッセージをよく読んで原因を特定してください。
この情報は参考用であり、予告なく変更される場合があります。
index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>SQLite3 Demo</title>
</head>
<body>
<h1>ユーザー</h1>
<ul id="users"></ul>
<script src="main.js"></script>
</body>
</html>
main.js
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('mydb.sqlite3');
// データベースの作成
db.run('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)');
// データの挿入
const stmt = db.prepare('INSERT INTO users (name, age) VALUES (?, ?)');
stmt.run('John Doe', 30);
stmt.run('Jane Doe', 25);
stmt.finalize();
// データの取得
const rows = db.all('SELECT * FROM users');
// ユーザーリストの表示
const ul = document.getElementById('users');
for (const row of rows) {
const li = document.createElement('li');
li.textContent = `${row.name} (${row.age})`;
ul.appendChild(li);
}
// データベースのクローズ
db.close();
このコードを実行すると、ユーザーの名前と年齢のリストが表示されます。
ElectronでSQLiteデータベースを使用する他の方法
ORMの使用
ORM(Object-Relational Mapping)は、オブジェクトとデータベース間のマッピングを自動化するツールです。ORMを使用すると、SQLクエリを記述することなく、オブジェクト指向のコードを使用してデータベース操作を行うことができます。
Electronで使えるORMには、以下のようなものがあります。
Electron-SQLITE3モジュールの使用
WebSQLは、WebブラウザでSQLiteデータベースを使用するためのAPIです。ElectronはWebブラウザをベースとしているため、WebSQLを使用してデータベース操作を行うこともできます。
- 簡単なアプリケーションであれば、上記のサンプルコードのように、直接SQLクエリを記述してデータベース操作を行う方法で十分です。
- より複雑なアプリケーションであれば、ORMを使用すると、開発効率を上げることができます。
- より低レベルでデータベース操作を行う必要がある場合は、Electron-SQLITE3モジュールを使用することができます。
- Webブラウザとの互換性を考慮する必要がある場合は、WebSQLを使用することができます。
node.js sqlite npm