2012-01-18 80 views
2

我以前沒有使用過SQLite,我正在查看是否可以使用它。SQLite中的初學者

我感到困惑了一下。例如,似乎沒有與來自官方SQLite的SQLite關聯的jdbc驅動程序。
我發現了一些帖子/網站(一些出現舊鏈接),提供了jdbc驅動程序,但我不願意這些驅動程序是如何穩定或者他們是否缺少功能。

此外,我不清楚SQLite的用法。

例如我嘗試下面的代碼:

public static void main(String[] args) throws Exception { 
     Class.forName("org.sqlite.JDBC"); 
     Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db"); 
     Statement stat = conn.createStatement(); 
     stat.executeUpdate("drop table if exists people;"); 
     stat.executeUpdate("create table people (name, occupation);"); 
     PreparedStatement prep = conn.prepareStatement(
      "insert into people values (?, ?);"); 

     prep.setString(1, "Gandhi"); 
     prep.setString(2, "politics"); 
     prep.addBatch(); 
     prep.setString(1, "Turing"); 
     prep.setString(2, "computers"); 
     prep.addBatch(); 
     prep.setString(1, "Wittgenstein"); 
     prep.setString(2, "smartypants"); 
     prep.addBatch(); 

     conn.setAutoCommit(false); 
     prep.executeBatch(); 
     conn.setAutoCommit(true); 

     ResultSet rs = stat.executeQuery("select * from people;"); 
     while (rs.next()) { 
      System.out.println("name = " + rs.getString("name")); 
      System.out.println("job = " + rs.getString("occupation")); 
     } 
     rs.close(); 
     conn.close(); 

    } 

此代碼創建我的應用程序目錄中的數據庫文件。
所以我想jdbc.jar創建這個?
所以我不需要運行我下載的sqlite3.exe?我應該從哪裏得到jdbc驅動程序?

更新:
這是我的觀點。在PKeidel(http://www.zentus.com/sqlitejdbc/)的答案之一中提供的鏈接是一個網站,似乎不是已從2009年更新過

回答

1

您可以從下載JDBC驅動程序這裏:http://www.zentus.com/sqlitejdbc/

sqlite3.exe只有當你的Windows PC上的命令行工作時才需要。當你想用Java訪問數據庫時,你不需要它。

從Java中,你必須: - 下載JDBC驅動程序 - 將其添加到您的項目/ classpath中 - 撥打Class.forName("org.sqlite.JDBC"); - 現在你可以在你的第一篇文章

+0

您所提供的鏈接使用它像,似乎它還沒有從2009年更新過。此外,我不清楚jdbc jar如何與沒有服務器的數據庫交互 – Cratylus 2012-01-18 09:29:20

+0

請參閱http://www.sqlite.org/serverless.html – Reddy 2012-01-18 09:46:15

+0

感謝您的鏈接。但是這意味着jdbc.jar包含sqlite嗎?我在sqlitejdbc-v056.jar中看到例如 某些'lib'文件。這些是SQLite嗎?這是如何工作的?什麼是官方的jdbc驅動程序? – Cratylus 2012-01-18 09:50:40