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")); }
参考になったのは、以下のページです。