Java 和 SQLite [已关闭]

2022-08-31 04:58:07

我被单个文件数据库提供的整洁所吸引。有什么驱动程序/连接器库可以连接和使用SQLite与Java。

我发现了一个包装库,http://www.ch-werner.de/javasqlite,但是还有其他更突出的项目可用吗?


答案 1

我在使用SQLite和Java搜索信息时发现了您的问题。只是想添加我的答案,我也在我的博客上发布。

我已经用Java编码了一段时间了。我也知道SQLite,但从未使用过它...好吧,我通过其他应用程序使用它但从未在我编码的应用程序中使用它。所以我本周需要它来做一个项目,它是如此简单!

我找到了一个用于 SQLite 的 Java JDBC 驱动程序。只需将 JAR 文件添加到类路径并导入 java.sql。

他的测试应用程序将创建一个数据库文件,发送一些SQL命令来创建一个表,在表中存储一些数据,然后将其读回并显示在控制台上。它将在项目的根目录中创建测试.db文件。可以使用 运行此示例。java -cp .:sqlitejdbc-v056.jar Test

package com.rungeek.sqlite;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

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();
    }
  }

答案 2

维基列出了更多的包装器:


推荐