【发布时间】:2011-06-21 19:01:01
【问题描述】:
我想使用 Java 读取 SQLite db 文件。能告诉我怎么读吗?
【问题讨论】:
我想使用 Java 读取 SQLite db 文件。能告诉我怎么读吗?
【问题讨论】:
David Crawshaw 开发了一个 JAR 文件(在 github here 上仍然可用,但 10 多年没有动过)。 Taro Saito 有一个独立的简单 JAR 文件available on github here,其中包括 JDBC 驱动程序和所需的本机运行时。只需将此 JAR 文件添加到您的类路径并导入 java.sql.*
David 的测试应用程序将创建一个数据库文件,发送一些 SQL 命令来创建一个表,将一些数据存储在表中,并将其读回并显示在控制台上。它将在项目的根目录中创建 test.db 文件。
public class Test {
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();
}
}
【讨论】:
SQLLite 的 Java JDBC 驱动程序位于 David Crawshaw 站点 http://www.zentus.com/sqlitejdbc/ 将 jar 文件添加到您的类路径并导入 java.sql.*,您应该会很好。
【讨论】: