JAVAでSQLiteを使ってみた
JavaでSQLiteを使うための簡単なプログラムを書いてみます。
SQLiteの特徴の特徴としては、
- Cで書かれた軽量データベース
- 全体のコード数が10万行程度
- データベースを保存するファイルが1つに納まっている
他のシステムだと、複数のデータベース用のファイルがあって管理が面倒なのですが、SQLiteのデータベースはファイル1つで、しかもOS互換フォーマットで保存されているので、簡単にOSをまたがったデータベースのコピーを作成することができます。
データベースアプリケーションを作成するには、JDBCというAPIを使います。SQLite JDBC Driverを使ってローカルにデータベースを作成してみます。先ず、Java用のライブラリーをダウンロードして、プロジェクトのビルド・パスに追加します。
SqliteJDBC(Java用のライブラリ:jarファイル)
http://www.zentus.com/sqlitejdbc/
SQLite JDBC Driverは、Mac OS X, Windows, Linuxなどよく使われるOSでSQLiteをインストールなしで動作させるために、それぞれのOSでコンパイルしたSQLiteのバイナリをjarファイルの中に埋め込んであります。プログラムの実行時に、自動的にjarファイルの中からOSに応じたSQLiteのバイナリを取り出しJava側でロードして使えるようになります。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SQLtest { private static Connection conn; private static Statement stmt; private static ResultSet rs; public static void main(String[] args) { try { //準備(Cドライブにあるsqlite_sampleフォルダに作成します) Class.forName("org.sqlite.JDBC"); conn = DriverManager.getConnection("jdbc:sqlite:/c:/sqlite_sample/testdatabase"); stmt = conn.createStatement(); //テーブル作成 stmt.executeUpdate("create table test1( name string, age integer )" ); //値を入力する stmt.execute( "insert into test1 values ( '初音ミク', 16 )" ); //結果を表示する rs = stmt.executeQuery("select * from test1"); while(rs.next()) { System.out.println(rs.getString("name")); System.out.println(rs.getInt("age")); } } catch (ClassNotFoundException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (SQLException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } finally { if(conn != null) { try { //接続を閉じる conn.close(); } catch (SQLException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } } } }