我应该如何在本地 java 应用程序中实现数据库
How should i implement a DB in my java application locally
我正在尝试为我的学校项目构建一个简单的 java 应用程序,我希望能够使用一个简单的数据库,以便在我的数据库上插入、更新、删除和询问查询.
我需要我的应用程序在安装时运行无处不在,所以我想使用我的应用程序附带的本地数据库,并且可以从项目内部访问,没有不同的数据库依赖性
实施本地数据库的最佳方式是什么?
我考虑过对 .csv 文件使用 JDBC,这需要大量工作(?)
或使用 HSQLDB,并创建一个嵌入式数据库?
你会如何实施?
编辑:
很好,所以我读了一点书并找到了这个 SQLite tutorial,
public class Main {
public static void main(String[] args) {
try{
Connection conn = DriverManager.getConnection("jdbc:sqlite: (how to set this path?)");
Statement statement = conn.createStatement();
statement.execute("CREATE TABLE CUSTOMERS (name TEXT,phone INTEGER,email TEXT)");
} catch(SQLException el){
System.out.println("somting went wrong" + el.getMessage());
}
}
}
现在我想设置用户文件夹的相对路径,并在用户计算机上设置连接。
我注意到上面写着:
o connect to an in-memory database, you use the following connection string:
jdbc:sqLite::memory
所以,设置完第一个连接后,我这边会初始化DB,然后部署项目时应该使用内存路径?
如果您愿意接受 JDBC 作为您的 API,请使用真正的嵌入式数据库:hsqldb 或 h2(或 derby)。它会比包装 csv 文件简单得多。
我会使用 H2,因为它可以在混合嵌入式/服务器模式下工作,这将允许您在嵌入式模式下 运行 您的应用程序,同时 - 使用一些外部工具(eclipse / intellij / netbeans / 其他)来检查你的数据库。
如果您可以忍受更多的学习,请使用 h2 + JPA(例如 eclipselink),这与自动模式生成一起将使部署更容易(您将不需要编写/维护/ 运行 DDL)。
JDBC 是一个简单的界面,允许您连接到嵌入式 Java 数据库。使用 HSQLDB,您可以选择使用 CSV 文件作为数据存储,以及它的 SQL 格式脚本文件或二进制数据文件。
HSQLDB可以工作在嵌入式/服务器混合模式,允许您使用外部工具访问数据库。
我正在尝试为我的学校项目构建一个简单的 java 应用程序,我希望能够使用一个简单的数据库,以便在我的数据库上插入、更新、删除和询问查询.
我需要我的应用程序在安装时运行无处不在,所以我想使用我的应用程序附带的本地数据库,并且可以从项目内部访问,没有不同的数据库依赖性
实施本地数据库的最佳方式是什么?
我考虑过对 .csv 文件使用 JDBC,这需要大量工作(?) 或使用 HSQLDB,并创建一个嵌入式数据库?
你会如何实施?
编辑:
很好,所以我读了一点书并找到了这个 SQLite tutorial,
public class Main {
public static void main(String[] args) {
try{
Connection conn = DriverManager.getConnection("jdbc:sqlite: (how to set this path?)");
Statement statement = conn.createStatement();
statement.execute("CREATE TABLE CUSTOMERS (name TEXT,phone INTEGER,email TEXT)");
} catch(SQLException el){
System.out.println("somting went wrong" + el.getMessage());
}
}
}
现在我想设置用户文件夹的相对路径,并在用户计算机上设置连接。 我注意到上面写着:
o connect to an in-memory database, you use the following connection string:
jdbc:sqLite::memory
所以,设置完第一个连接后,我这边会初始化DB,然后部署项目时应该使用内存路径?
如果您愿意接受 JDBC 作为您的 API,请使用真正的嵌入式数据库:hsqldb 或 h2(或 derby)。它会比包装 csv 文件简单得多。
我会使用 H2,因为它可以在混合嵌入式/服务器模式下工作,这将允许您在嵌入式模式下 运行 您的应用程序,同时 - 使用一些外部工具(eclipse / intellij / netbeans / 其他)来检查你的数据库。
如果您可以忍受更多的学习,请使用 h2 + JPA(例如 eclipselink),这与自动模式生成一起将使部署更容易(您将不需要编写/维护/ 运行 DDL)。
JDBC 是一个简单的界面,允许您连接到嵌入式 Java 数据库。使用 HSQLDB,您可以选择使用 CSV 文件作为数据存储,以及它的 SQL 格式脚本文件或二进制数据文件。
HSQLDB可以工作在嵌入式/服务器混合模式,允许您使用外部工具访问数据库。