2013-04-21 54 views
1

我想问一个关于我正在开发的java应用程序的本地数据库的意见。本地Java应用程序 - 数据库选择

它的兽医应用程序,这意味着我需要存储客户,宠物和医疗史的详细信息的开始。我知道如何使用JDBC,但我只是在applet中使用它。

所以,我真的不知道很多关于本地解决方案的知识,以及当我将应用程序发布到.jar中时,如何工作,所以请指导我。 MySQL会继续工作吗?

谢谢!

回答

2

这是相当普遍的问题和细节上的亮点,MySQL听起来像它会在这里工作。如果这是针对本地访问的,并且不需要典型的客户端 - 服务器模型,那么我鼓励查看可以直接在JVM中加载的数据库引擎。其中一个好处是不需要安装任何单独的数据库组件,并且可以将整个数据库引擎的JAR打包到您的应用程序中。

下面是其中的几个:

  • Apache Derby
  • HyperSQL
  • H2
  • SQLite的 - 围绕C库的Java包装都可用,但不会有任何可用的纯Java JDBC驱动程序为此我知道这一点。

我意识到,开发人员配置MySQL用于本地使用并不困难,但它可能会导致最终用户的一些支持问题。可以编写安装脚本来预先配置其中的大量内容,但我不确定这些内容的详细信息,并且在打包应用程序时这将是一个额外的项目。

有关使用MySQL的一些常见问题如下所示。这可能是最好的方式,但这些只是一些需要考虑的事情。其中大多数并不是真正专用于应用程序的开发,更多的是支持事物。利用上面提到的数据库引擎可以消除所有这些或许多这些。

  • 将多台计算机每逢同时连接到同一个数据库?
  • 你使用什么MySQL密码?
  • 你是否建议最终用户都使用同一个可能不是很好的安全?
  • 还是最终用户需要创建一个,在这种情况下,您可能需要处理忘记的密码,最终用户必须在应用程序中配置密码?
  • 您的最终用户是否运行可能会干扰数据库连接的防病毒软件?
  • 如果他们有另一个程序使用已经使用默认端口的MySQL,该怎么办?
+0

感谢您的回答! SQLite是否属于上面的列表? – LePhleg 2013-04-21 23:56:14

+0

此处还需要其他什么细节?我已经描述了应用程序以及我打算在数据库中存储的内容。我不知道我还应该包括什么更具体..: -/ – LePhleg 2013-04-21 23:57:11

+0

我添加SQLite和给出的评论是我最初排除它的原因。我还添加了一些需要思考的问题。 – 2013-04-22 01:07:24

相关问题