如何在Java应用程序中嵌入MySQL数据库

时间:2014-05-08 00:56:59

标签: java mysql web-applications java-native-interface

过去你可以使用Connector / MXJ将MySQL数据库嵌入到Java应用程序中,但是连接器/ MXJ项目已经被Oracle EOL(感谢Larry)所以我正在寻找实现目标的最佳方式。

我们的应用程序附带了嵌入式Tomcat和JRE,我们也希望嵌入MySQL数据库(不要问我们是否可以使用其他数据库引擎 - 它必须是MySQL)。我无法找到最好的方法来获得任何好的文档或答案,所以这里有我想出的想法:

  • 只需启动可执行文件即可启动mysqld,作为应用程序启动脚本
  • 的一部分
  • 编写/使用libmysqld周围的JNI包装器在应用程序启动时启动服务器并在应用程序停止时停止(这将是首选方法)

对于第二个(首选)选项,我不认为围绕libmysqld调用编写JNI包装器会太困难,但是我想知道这是否会起作用,因为libmysqld 提供对在同一进程中运行的代码的访问(没有命名管道或tcp访问)。在正在运行的Java应用程序中启动进程是否允许父应用程序访问数据库?

1 个答案:

答案 0 :(得分:1)

也许试试这个。它适用于MariaDB,可能没问题,或者甚至可以与MySQL一起使用,因为它们应该在很大程度上兼容。

https://github.com/vorburger/MariaDB4j