JavaからSqliteを使ってみる。
Java向けの組み込みデータベースというと、JDKに同梱されているDerbyがあるけれど、ちょっと、SQLiteが気になったので、試してみた。
■準備
・SQLite Home Pageからsqlite3.dllダウンロードする。
・JDBCドライバ(sqlite-jdbc-3.6.14.jar)をダウンロードする。
・sqlite3.dllにパスを通し、sqlite-jdbc-3.6.14.jarにクラスパスを通す。
・GUIクライアント(例えば、TkSqlite)をダウンロードし、適当にテーブルを作る。
■テスト
試しに、大阪府の市町村のID番号と名称を入力したcityテーブルを作り、Javaから呼び出してみた。
import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SqliteTest{ private static String DB_URL=getDB_URL(); private static String getDB_URL(){ File f=new File("osaka.db3"); return "jdbc:sqlite:"+f.getAbsolutePath(); } public static void main(String[] args){ try{ Class.forName("org.sqlite.JDBC"); }catch(ClassNotFoundException e){ e.printStackTrace(); System.exit(1); } Connection conn=null; try{ conn=DriverManager.getConnection(DB_URL); Statement st=conn.createStatement(); st.setQueryTimeout(50); ResultSet rs=st.executeQuery("select * from city"); while(rs.next()){ System.out.println( rs.getInt("id")+","+rs.getString("名称")); } }catch(SQLException e){ e.printStackTrace(); }finally{ try{ if(conn!=null)conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } }