使用Java读取SQLite数据库文件

12

我想使用Java读取一个SQLite数据库文件。你能告诉我如何读取吗?


1
可能是 https://dev59.com/oXVD5IYBdhLWcg3wQJKT 的重复问题。 - Harry Joy
2个回答

10

首先阅读这些答案

David Crawshaw开发了一个JAR文件(仍然可在此处的Github上找到,但已经十多年未更新)。Taro Saito拥有一个自包含直接的JAR文件,可在此处的Github上找到,其中包含所需的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();
    }
  }

1
不幸的是,该链接未找到,请尝试此链接:https://github.com/xerial/sqlite-jdbc。 - Eddy

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接