java - 如何创建其中包含 MySQL 数据库的可执行文件?

标签 java sql database eclipse

我想在 Eclipse 中创建我的 java 应用程序的可执行文件,但我不想托管我的数据库,而是想在创建可执行文件时放入应用程序的文件夹中,我需要做什么才能完成此任务,以及带有连接到数据库的代码的类的路径是什么样的?

提前致谢。

最佳答案

您无法使用 MySQL 执行此操作,因为 MySQL 仅在“服务器模式”下运行。

要执行您想要的操作,您需要将数据库更改为以下之一:

  • H2。请参阅documentation 。网址:jdbc:h2:file:<path>/<database>
  • HyperSQL。请参阅documentation 。网址:jdbc:hsqldb:file:<path>/<database>
  • Apache Derby 。请参阅documentation 。网址:jdbc:derby:<path>/<database>

在所有三个数据库中,相应的 JDBC 驱动程序包括整个数据库引擎本身。因此,只需连接到数据库,您就可以获得一个完全运行的实例。

现在,这些数据库可以在多种模式下工作:

  • 嵌入式+文件系统:JDBC URL 将包含保存数据库表和数据的目录的[相对或绝对]路径。
  • 嵌入式+内存:JDBC URL将指定所有数据将存储在内存中,并且一旦连接关闭就会丢失。
  • 服务器模式:JDBC URL 将指向运行数据库引擎的[外部/远程]主机:端口。这与MySQL类似。

根据您的问题,第一个选项似乎是您需要的。作为个人说明,我发现与 Derby 相比,H2 和 HyperSQL 更容易设置,因为它们都包含在一个 JAR 文件中。

关于java - 如何创建其中包含 MySQL 数据库的可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51774344/

相关文章:

java - 从多层ObjectNode中检索线结构

对象上的Java任意比较器

java - Google Drive API 拒绝拥有该文件 'writer' 权限的用户共享文件

mysql - 如何按字符串类型但字母表与排序无关的列进行排序?

android - 为 Android 应用程序在线托管数据库

java - 需要使用正则表达式从字符串中的十进制数中删除尾随 0

sql - 递归选择父级的子级元素的Oracle函数错误

sql - 查询有效,但无法检索数据

sql-server - SQL 服务器字段命名约定

c# - 设置 ASP.net 成员(member)资格和 MySQL 数据库的问题