sqlite-jdbc を使って Java から sqlite を操作する
環境
sqlite DB を準備する
$ mkdir ~/Develop $ touch ~/Develop/development.sqlite3
sqlite-jdbc を準備する
ダウンロードページから適当な jar を取ってくる(最新版で良い)
(説明用に /usr/local/jar に配置する)
$ mv ~/Downloads/sqlite-jdbc-3.8.11.1.jar /usr/local/jar/
Java ソースを構築する
- users テーブル(属性: id(int), name(string))を作成
- (id, name) = (1, matsukawa) を insert する
1 import java.sql.*; 2 3 public class Jdbc { 4 public static void main(String... args) throws ClassNotFoundException { 5 Class.forName("org.sqlite.JDBC"); 6 Connection connection = null; 7 try { 8 connection = DriverManager.getConnection("jdbc:sqlite:/Users/matsukawa/Develop/develop.sqlite3"); 9 Statement statement = connection.createStatement(); 10 statement.setQueryTimeout(30); 11 execute_sql(statement); 12 } catch(SQLException e) { 13 System.err.println(e.getMessage()); 14 } 15 } 16 17 private static void execute_sql(Statement statement) throws SQLException { 18 statement.executeUpdate("DROP TABLE IF EXISTS users"); 19 statement.executeUpdate("CREATE TABLE users (id INTEGER, name STRING)"); 20 statement.executeUpdate("INSERT INTO users (id ,name) VALUES (1, 'matsukawa')"); 21 } 22 }
コンパイル, 実行
$ javac Jdbc.java $ java -classpath ".:/usr/local/jar/sqlite-jdbc-3.8.11.1.jar" Jdbc
sqlite @ users の状態が意図通りか確認する
$ sqlite3 ~/Develop/develop.sqlite3 sqlite> select * from users; 1|matsukawa