gpt4 book ai didi

SQLite 上的 Java JDBC

转载 作者:行者123 更新时间:2023-12-01 19:54:27 25 4
gpt4 key购买 nike

我正在使用 java JDBC 连接到 Mac 上的 SQLite。官方教程是使用windows。不过我用的是Mac。以下是我在终端 connect 中运行的命令文件夹。这是教程中提供的命令。 https://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/

java -classpath ".;sqlite-jdbc-3.27.2.1.jar" net.sqlitetutorial.Connect

下面是我的文件层次结构。

╭─  ~/sqlite ········································at 17:27:22
╰─ tree
.
├── db
│   └── chinook.db
└── java
└── connect
├── net
│   └── sqlitetutorial
│   ├── Connect.class
│   └── Connect.java
└── sqlite-jdbc-3.27.2.1.jar

5 directories, 4 files

打击是Connect.java提供的教程,我只更改String url =到我自己的计算机路径。

package net.sqlitetutorial;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
*
* @author sqlitetutorial.net
*/
public class Connect {
/**
* Connect to a sample database
*/
public static void connect() {
Connection conn = null;
try {
// db parameters
String url = "jdbc:sqlite:/Users/anasiangangster/sqlite/db/chinook.db";
// create a connection to the database
conn = DriverManager.getConnection(url);

System.out.println("Connection to SQLite has been established.");

} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
connect();
}
}

教程原文

String url = "jdbc:sqlite:C:/sqlite/db/chinook.db";

无论如何,当我在 connect 运行命令(我在前面提供)时文件夹。我收到此错误消息。

Error: Could not find or load main class net.sqlitetutorial.Connect

尽管如此,我还是遵循了教程提供的故障排除方法。我无法解决它。如果可以的话请帮助我。非常感谢。

最佳答案

类路径分隔符是冒号(“:”),而不是分号。在 Windows 上它只是一个分号,这可能就是本教程使用它的原因。因此,只需将类路径参数更新为:-cp .:sqlite-jdbc-3.27.2.1jar :)

注意:旁注,但是,sqlite 非常适合 java。类似 h2更有意义。 SQLite 几乎没有带来任何好处:如果您希望它感觉轻量级,您仍然需要发布 SQLite 引擎并从进程内启动它,或者您需要明确要求用户安装该东西,此时您不妨询问他们安装像 postgres 这样的全功能数据库。 H2 是进程中的,不需要您为您打算支持的每个操作系统/架构组合提供一个可执行文件,并且不需要尝试让主机操作系统启动 native 应用程序。它“有效”。仅当您对精确的 sqlite 有特定需求并且没有其他方法可以做时,您才应该使用 sqlite(例如,您使用的是 android,它为您提供了 sqlite,或者您正在尝试检查或更改 firefox 数据存储,这是 sqlite 数据库)。

关于SQLite 上的 Java JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59051245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com