トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

Java & SQLite

 Windows

○JDBCドライバのDL
http://www.ch-werner.de/javasqlite/
からコンパイル済みのものをDL出来る。

○sqlite.jarの配置
基本的に好きな場所に置いて良い。
コンパイルと実行時にsqlite.jarにclasspathを通すのを忘れずに。

○sqlite_jni.dllの配置
基本的に好きな場所に置いて良い。
実行時に java.library.pathでパスを指定出来る
Linuxの場合は、環境変数で「LD_LIBRARY_PATH」でも可。
Windowsの場合は、環境変数で「PATH」でも可。

○プログラムのコンパイル

javac -classpath sqlite.jar;. SQLiteHello.java

○実行

java -classpath sqlite.jar;.  -Djava.library.path=. SQLiteHello


 Linux

○JDBCドライバのDL
http://www.ch-werner.de/javasqlite/
からJDBCドライバのソースをDL

○JDBCドライバのコンパイル

./configure
make

でエラーが出る場合は

./configure --disable-tcl
make

.libs/libsqlite_jni.soが出来るので
好きなところへ移動。

○プログラムのコンパイル

javac -classpath sqlite.jar;. SQLiteHello.java

○実行

java -classpath sqlite.jar;.  -Djava.library.path=. SQLiteHello

 ライブラリパス

WindowsではPATHに追加しておけばいいようです。Linuxなどでは、LD_LIBRARY_PATH環境変数へ追加しておけばよいようです。

 コード

http://blog.sugikats.com/?eid=303462
のそのままです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.sql.*;
import SQLite.*;

public class SQLiteHello {
  public static void main(String[] args) {
    try {
      Class.forName("SQLite.JDBCDriver");
      Connection c = DriverManager.getConnection("jdbc:sqlite:/testdatabase");
      //これを入れない場合は、コミットしなくてもコネクションを切れば自動でコミットされるそうな。
      c.setAutoCommit(false);

      Statement st = c.createStatement();
      //INSERTなどのクエリを実行する場合は、こんなふうに。
      //int rc = st.executeUpdate( "insert into testtable values(2,'Hello','World')" );

      ResultSet rs = st.executeQuery( "select col1, col2, col3 from testtable" );
      while ( rs.next() ) {
        int i = rs.getInt(1);
        String s1 = rs.getString(2);
        String s2 = rs.getString(3);
        System.out.println( i + " :" + s1 + s2 );
      }
      rs.close();
      st.close();
      c.commit();
      c.close();
    } catch (java.lang.Exception e) {
      e.printStackTrace();
      System.exit(0);
    }
  }
}

 コード SQLite3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.sql.*;
import org.sqlite.*;

public class SQLiteHello {
  public static void main(String[] args) {
    try {
      Class.forName("org.sqlite.JDBC");
      Connection c = DriverManager.getConnection("jdbc:sqlite:/testdatabase");
      //これを入れない場合は、コミットしなくてもコネクションを切れば自動でコミットされるそうな。
      c.setAutoCommit(false);

      Statement st = c.createStatement();
      //INSERTなどのクエリを実行する場合は、こんなふうに。
      //int rc = st.executeUpdate( "insert into testtable values(2,'Hello','World')" );

      ResultSet rs = st.executeQuery( "select col1, col2, col3 from testtable" );
      while ( rs.next() ) {
        int i = rs.getInt(1);
        String s1 = rs.getString(2);
        String s2 = rs.getString(3);
        System.out.println( i + " :" + s1 + s2 );
      }
      rs.close();
      st.close();
      c.commit();
      c.close();
    } catch (java.lang.Exception e) {
      e.printStackTrace();
      System.exit(0);
    }
  }
}
[カテゴリ: プログラミング言語 > Java]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2008年12月04日 13時58分12秒