gpt4 book ai didi

java - 在用户计算机上的 sqlite 数据库上使用 jdbc 设置相对路径

转载 作者:行者123 更新时间:2023-11-30 05:38:00 27 4
gpt4 key购买 nike

我正在尝试为我的学校项目构建一个简单的java应用程序,并且我希望能够使用一个简单的数据库,以便在我的数据库上插入、更新、删除和询问查询。

我需要我的应用程序在安装时随处运行,因此我想使用我的应用程序附带的本地数据库,并且可以从项目内部访问,而无需不同的数据库依赖项

所以我读了一点,发现了这个 SQLite 教程 - http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/

,现在我想为下载我的应用程序的用户设置相对路径,并在用户计算机上设置连接。我注意到它写的是:

connect to an in-memory database, you use the following connection string:
jdbc:sqLite::memory

这是我的代码:

public class Main {

public static void main(String[] args) {
try{
Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Desktop\\School Project\\Software-Engineering---Java-Project\\data.db");
Statement statement = conn.createStatement();

//CREATE TABLES
statement.execute("CREATE TABLE IF NOT EXISTS CUSTOMERS (name TEXT,phone INTEGER,email TEXT)");

//INSERT TO TABLES
statement.execute("INSERT INTO CUSTOMERS (name,phone,email)" +
"VALUES ('NETANEL', 05555555,'SADF@GMAIL')");

注意我的 JDBC 是我的本地计算机的路径,我该如何更改它?

编辑:

我可以仅引用数据库名称来设置路径:

final static String DB_URI = "jdbc:sqlite" + ":data.db";

public static void main(String[] args) {
try{
Connection conn = DriverManager.getConnection(DB_URI);
Statement statement = conn.createStatement();

问题是,如果我用这个数据库部署我的应用程序,它会是跨平台的吗?

最佳答案

您可以使用用户主目录。您确信它始终定义了您在其上部署程序的任何平台,并且您的程序将对其具有读/写访问权限。

类似这样的事情:

String dbUri = "jdbc:sqlite:" + System.getProperty("user.home") + "/data.db";
Connection conn = DriverManager.getConnection(dbUri);

关于java - 在用户计算机上的 sqlite 数据库上使用 jdbc 设置相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56241540/

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