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



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

我们的应用程序附带了一个嵌入式Tomcat和JRE,我们也想嵌入MySQL数据库(不要问我们是否可以使用其他数据库引擎——必须是MySQL)。我找不到任何好的文档或答案来做到这一点,所以这里是我想到的想法:

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

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

不妨试试这个。这是为MariaDB,这可能是ok的,或者它甚至可能与MySQL一起工作,因为它们应该在很大程度上兼容。

https://github.com/vorburger/MariaDB4j

最新更新