我不清楚有关如何在Java桌面应用程序中嵌入mysql的步骤/配置详细信息,以便它(应用程序)可以通过单个可执行文件安装在任何计算机上,这样做可以设置数据库并提供exe运行应用程序。现在我已经使用netbeans构建了我的应用程序,我使用mysql来设置database.plz进一步指导我。
答案 0 :(得分:7)
MySQL不是嵌入式数据库 - 与之相关的唯一JAR是JDBC驱动程序。它需要一个安装过程,该过程可以通过Java编写脚本,但该过程肯定会在您打算支持的Java应用程序之外运行。这意味着,您可以关闭Java应用程序,但MySQL服务/守护程序仍将运行。
只有libmysqld可以嵌入。
有嵌入式数据库 - SQLite,Firebird - 以及用Java制作的嵌入式数据库 - HSQL,Derby /(不记得之前调用过它)。我相信SQL Server Compact Edition是可嵌入的,而SQL Server Express / MSDE则不是。我不知道Oracle是否有嵌入版本....
答案 1 :(得分:4)
我强烈推荐H2。它是一个用Java编写的非常快速的嵌入式数据库,我发现它比其他一些提到的更容易使用,比如HSQL。
修改强>
在H2网站上,您可以看到speed comparison of H2 vs Derby, HSQL, MySql等等......
答案 2 :(得分:1)
虽然理论上可能并不容易。标准的MySql发行版假设您希望设置一个通用数据库服务器,该服务器与通过odbc等进行组合的客户端应用程序分开。
您可能更好地查看HSQL或JavaDB等“纯java”选项,这些选项旨在嵌入到Java应用程序中,并且几乎不需要“设置”。
另一种可能性是Sqlite,它只需要一个二进制文件和sqljbbc jar文件。这也是从头开始设计嵌入到应用程序中的,除了为数据库分配文件外,还需要零管理员。
答案 3 :(得分:1)
看看http://dev.mysql.com/doc/refman/5.0/en/connector-mxj.html。我不记得确切的细节,但我能够在桌面应用程序中嵌入MySQL数据库而无需用户单独安装。
密钥类是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中剥离其他平台版本,以减少最终用户的下载大小。
答案 4 :(得分:0)
如果你想要一个带有java的嵌入式数据库,那么使用一个用Java编写的嵌入式数据库。我知道Apache Derby可以嵌入,显然也是H2。
您需要数据库处理大量数据吗?