JavaScriptの実行処理系Rhinoを利用して、SQLiteを扱う方法を調査してみました。

準備するのは、以下のライブラリ

SQLiteJDBCは、PureJavaのSQLite実装です。CSVファイルから郵便番号データベースを作ってみましたが、それほど遅いと感じませんでした。

CLASSPATHにSQLiteJDBCを追加した場合のコードです。
SQLiteJDBCの実行のための準備は以下のように記述します。

importPackage(java.sql);
java.lang.Class.forName("org.sqlite.JDBC");

テーブルへ接続する方法:

// テーブルに接続
var conn = DriverManager.getConnection(
  "jdbc:sqlite:filename.db");

続いて、CREATE TABLEは、以下の感じです。

var stmt = conn.createStatement();
stmt.executeUpdate(
  "CREATE TABLE IF NOT EXISTS test(name, email)");

INSERTのときは、以下のように書きます。

var prep = conn.prepareStatement(
  "INSERT INTO test (name,email)"+
  " VALUES(?,?)");
//
conn.setAutoCommit(false);
prep.setString(1, "kenta");
prep.setString(2, "ken@example.com");
prep.addBatch();
prep.setString(1, "taro");
prep.setString(2, "tar@example.com");
prep.addBatch();
prep.executeBatch();
conn.setAutoCommit(true);

SELECTのとき

var resultSet = stmt.executeQuery("select * from test;");
while (resultSet.next()){
  print("name=" + resultSet.getString("name"));
  print("email=" + resultSet.getString("email"));
}

参考になったのは、以下のページです。