トップ 一覧 置換 検索 ヘルプ RSS ログイン

Java & SQLiteの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!Windows
○JDBCドライバのDL
http://www.ch-werner.de/javasqlite/
からコンパイル済みのものをDL出来る。

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

○sqlite_jni.dllの配置
基本的に好きな場所に置いて良い。
実行時に{{span class="ep", 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
で{{span class="ep", .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
のそのままです。

{{code Java,2
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
http://blog.sugikats.com/?eid=303462
のそのままです。

{{code Java,2
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);
    }
  }
}
}}
{{category Java}}
{{category2 プログラミング言語,Java}}