程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> SQLiteJDBC 100%純JAVA的sqlite擴展

SQLiteJDBC 100%純JAVA的sqlite擴展

編輯:關於JAVA

A JDBC driver for SQLite. It comes in two flavours, a 100% Pure Java driver based on NestedVM or a native JNI library. Binaries are provided for Windows and Mac OS X.

目前Java環境下的sqlite擴展有好幾個,但是其中比較完善、而且更新很快的就要數SQLiteJDBC了, 而且它的封裝也讓人感覺比較的舒服,文檔也很全面。

使用方法:

下載對應你的開發平台的二進制包. 解開壓縮包並把下面的兩個文件拷貝到你的應用程序當中 去:

sqlitejdbc.jar
sqlitejdbc.dll (or libsqlitejdbc.so or libsqlitejdbc.jnilib)

在你的代碼中引用這個驅動:

Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");
// ... use the database ...
conn.close();

然後運行你的程序的時候在classpath中加上驅動的JAR文件,同時在librarypath中加上C的庫文件. 例如:

java -cp sqlitejdbc.jar -Djava.library.path=. yourclass

瞧瞧,就是這麼簡單.

日期和時間的處理:

SQLiteJDBC使用標准所容許的最有效的方法來實現ResultSet.getDate()/getTime() 和 PreparedStatement.setDate()/setTime(), 將時間以毫秒為單位存放在一個64位的長整數當中(UTC通 用協調時間),這是標准的unix時間戳.

只要我們小心的把unix時間戳轉換為SQLite函數使用的格式,這樣就不會和SQLite的標准時間格式相 沖突了, 而且從另一個角度來看使用這種格式存儲時間可以更方便我們在SQLite之外的環境裡使用. 例 如:

prep = conn.prepareStatement("insert into test values (?);");
prep.setDate(1, new Date(1000));
prep.executeUpdate();
rs = stat.executeQuery ("select * from test;");
rs.getString(1) == "1000";

上面的這個例子中時間是以unix時間戳來儲存的. 你可以用datetime()和strftime() 函數來把時間 轉換為標准的SQLite格式:

prep = conn.prepareStatement(
"insert into test values datetime(?, 'unixepoch');");
prep.setDate(1, new Date(987654321));
prep.executeUpdate ();
rs = stat.executeQuery("select * from test;");
rs.getString(1) = "2001-04-19 04:25:21";
rs = stat.executeQuery("select strftime('%s', col1) from test;");
rs.getDate(1) == new Date(987654321);

編譯:

下載源代碼包、解壓縮,設置好你的$JAVA_HOME環境變量然後輸入:

$ make

更多的細節可以參考源代碼包中readme的文件.

下載:

http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz

http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-src.tgz

http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-Win-i386.tgz

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved