2012-01-18 46 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