首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

SQLiteJDBC:純 Java 實現的 SQLite 驅動使用指南

     編輯:Java 相關知識

項目特點

  • 兩種模式:100% 純 Java(基於 NestedVM)或 JNI 原生庫(Windows/Mac 提供預編譯二進制)
  • 封裝完善、更新頻繁、文檔全面
  • 日期時間以 Unix 時間戳(毫秒、UTC)存儲為 64 位長整數,符合標準

快速開始

  1. 下載對應平台二進制包,解壓獲取:
    • sqlitejdbc.jar
    • sqlitejdbc.dll / libsqlitejdbc.so / libsqlitejdbc.jnilib
  2. 代碼加載驅動:
    Class.forName("org.sqlite.JDBC");
    Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");
    // ... 操作數據庫 ...
    conn.close();
    
  3. 運行時指定路徑:
    java -cp sqlitejdbc.jar -Djava.library.path=. YourClass
    

日期時間處理最佳實踐

驅動以 Unix 毫秒時間戳存儲,讀寫均為標準 java.util.Date。若需 SQLite 原生格式,使用 datetime(?, 'unixepoch') 或 strftime('%s', col) 轉換:

// 寫入 Unix 時間戳
prep = conn.prepareStatement("insert into test values (?)");
prep.setDate(1, new Date(1000));
prep.executeUpdate();  // 存入 "1000"

// 讀取並轉為標準格式
prep = conn.prepareStatement("insert into test values (datetime(?, 'unixepoch'))");
prep.setDate(1, new Date(987654321));
prep.executeUpdate();
// 查詢結果: "2001-04-19 04:25:21"

// 反向轉換
rs = stat.executeQuery("select strftime('%s', col1) from test");
rs.getDate(1) == new Date(987654321);  // true

編譯源碼

$ make  # 需設置 JAVA_HOME

下載地址

  • NestedVM 純 Java 版:sqlitejdbc-v033-nested.tgz
  • 源碼包:sqlitejdbc-v033-src.tgz
  • Windows x86 原生版:sqlitejdbc-v033-Win-i386.tgz
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved