Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLite初学者_Java_Database_Jdbc_Sqlite - Fatal编程技术网

Java SQLite初学者

Java SQLite初学者,java,database,jdbc,sqlite,Java,Database,Jdbc,Sqlite,我以前没有使用过SQLite,我正在寻找是否可以使用它 我有点困惑。例如,似乎没有来自官方SQLite的与SQLite关联的jdbc驱动程序。 我发现了一些提供jdbc驱动程序的帖子/站点(有些看起来是旧链接),但我不太愿意透露这些驱动程序有多稳定,或者是否缺少功能 此外,我不清楚SQLite的用法 例如,我尝试了以下代码: public static void main(String[] args) throws Exception { Class.forName("org.s

我以前没有使用过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年开始更新的站点的,您可以从这里下载JDBC驱动程序:

只有在windows pc上使用命令行时才需要sqlite3.exe。如果要使用Java访问数据库,则不需要sqlite3.exe

从Java开始,您必须: -下载JDBC驱动程序 -将其添加到项目/类路径中 -调用
Class.forName(“org.sqlite.JDBC”)

-现在你可以像在你的第一篇文章中一样使用它了

你提供的链接似乎从2009年起就没有更新过。此外,我不清楚jdbc jar如何在没有服务器的情况下与数据库交互感谢链接。但这是否意味着jdbc.jar包含sqlite?我在sqlitejdbc-v056.jar中看到了一些
lib
文件。这些是SQLite吗?这是如何工作的?什么是官方的jdbc驱动程序?是的,“Windows、Mac OS X和Linux x86的纯驱动程序和本机二进制文件都已合并到一个jar文件中。”但哪个站点提供了更新最新的jdbc驱动程序。anwer中提供的驱动程序似乎很旧