Java,MySQL:有没有办法用Java程序嵌入MySQL服务器?

问题描述:

我喜欢.NET的一件事就是能够随项目一起创建数据库文件。我知道使用SQLite数据库,这可以完成,但是有人用MySQL数据库后端实现了这一点吗?例如,如果我运行一个Java程序,它应该能够启动它自己的迷你MySQL服务器并操作数据。所以基本上,我需要与SQLite相同的流程,但我需要MySQL的强大功能。Java,MySQL:有没有办法用Java程序嵌入MySQL服务器?

+1

Apache Derby(JavaDB)非常容易嵌入到Java应用程序中,很好。 – ChadNC 2009-11-24 17:11:05

+1

谢谢..我会研究这一点。我有很多脚本可以与MySQL一起工作。您是否会知道将JavaDB转换为MySQL数据库是否够简单? – Legend 2009-11-24 17:14:18

+1

对于这个问题,HSQLDB也很容易。但问题是关于MySQL :) – Bozho 2009-11-24 17:18:31

快速搜索显示了这个:MySQL的连接器/ MXJ - 在MySQL的下载页面上的Java应用程序中嵌入MySQL服务器:

http://dev.mysql.com/downloads/

+3

对于在给出这个答案很久以后的其他读者,MXJ在MySQL版本5.1.40,Connector/J版本5.0.11中停止了开发。请参阅http://dev.mysql.com/doc/connector-mxj/en/connector-mxj-versions.html – 2013-09-05 12:54:05

+0

@PeterDolberg是否有替代包实现MySQL(嵌入式)在JUnit测试时运行? – TheConstructor 2014-02-20 08:02:41

这听起来像你想的嵌入式数据库。虽然MySQL连接器看起来不错,但它将启动一个单独的服务器进程。如果您希望数据库服务器在Java虚拟机中运行,则有几个Java嵌入式数据库。

是我见过使用的最两者是:

  1. Apache Derby/JavaDB
  2. HSQL
+5

根据HSQL测试使用Oracle的生产系统,我有过糟糕的经历。行为上的差异会导致特定于测试的攻击或更糟糕的,从未写入的测试用例,因为它太麻烦了。我认为创建一个尽可能接近真实事物的测试环境比任何事情都重要。使用一些额外的系统资源通常是一个非常可以接受的折衷。 – oksayt 2011-06-27 10:33:48

备查任何人都希望MySQL嵌入,有来自公用事业这样做的mysql家伙http://downloads.mysql.com/archives/c-mxj/

+1

请注意,MySQL连接器/ MXJ的开发已经停止。 – 2015-03-31 15:04:43

+0

还有什么替代方案呢?有没有可以*嵌入的解决方案? – 2016-07-12 08:21:12