11

我不清楚有关如何将 mysql 嵌入 Java 桌面应用程序的步骤/配置详细信息,以便可以通过单个可执行文件将它(应用程序)安装在任何机器上,这样做可以设置数据库并提供要运行的 exe应用程序。到目前为止,我已经使用 netbeans 构建了我的应用程序,并且我已经使用 mysql 来设置数据库。请进一步指导我。

4

5 回答 5

7

MySQL 不是嵌入式数据库——唯一与之相关的 JAR 是 JDBC 驱动程序。它需要一个安装过程,该过程可能可以通过 Java 编写脚本,但该过程肯定会在您希望它支持的 Java 应用程序之外运行。这意味着,您可以关闭 Java 应用程序,但 MySQL 服务/守护程序仍将运行。

只有libmysqld是可嵌入的。

有嵌入式数据库——SQLite、Firebird——和用 Java 制作的嵌入式数据库——HSQL、Derby/(不记得以前叫什么了)。我相信 SQL Server Compact Edition 是可嵌入的,而 SQL Server Express/MSDE 则不是。不知道oracle有没有嵌入式版本....

于 2010-08-03T03:34:03.233 回答
3

我强烈推荐H2。它是一个用 Java 编写的非常快速的嵌入式数据库,我发现它比提到的其他一些数据库(如 HSQL)更易于使用。

编辑:

在 H2 网站上,你可以看到H2 与 Derby、HSQL、MySql等的速度对比......

这是有关如何备份数据库的信息

于 2010-08-03T03:50:55.333 回答
1

虽然理论上可行,但这并不容易。标准的 MySql 发行版假定您要设置一个通用数据库服务器,与通过 odbc 等连接的客户端应用程序分开。

您可能会更好地查看 HSQL 或 JavaDB 等“纯 Java”选项,这些选项旨在嵌入到 Java 应用程序中,并且需要很少或不需要“设置”。

另一种可能性是 Sqlite,它只需要一个二进制文件加上 sqljbbc jar 文件。这再次从头开始设计,嵌入到应用程序中,除了为数据库分配文件外,还需要零管理员。

于 2010-08-03T03:34:46.130 回答
1

看看http://dev.mysql.com/doc/refman/5.0/en/connector-mxj.html。我不记得确切的细节,但我能够在桌面应用程序中嵌入 MySQL db,而无需用户单独安装。

关键类是 com.mysql.management.MysqldResource。

这是示例,http://dev.mysql.com/doc/refman/5.0/en/connector-mxj-configuration-java-object.html

mysql-connector-mxj-gpl-db-files.jar 文件包含所有平台的 MySQL 安装文件。如果您知道哪个是您的目标平台,您可以从 jar 中剥离其他平台版本,以减少最终用户的下载大小。

于 2010-08-03T07:51:56.730 回答
0

如果您想要一个带有 java 的嵌入式数据库,那么请使用一个用 Java 编写的嵌入式数据库。我知道 Apache Derby 可以嵌入,显然也可以嵌入 H2。

你需要数据库处理多少数据?

于 2010-08-03T06:40:37.173 回答