使用嵌入式数据库的Java桌面应用程序

3
我计划开发一个带有嵌入式数据库的Java桌面应用。这将是一个没有互联网连接的应用程序,只用于向数据库中插入、更新和删除数据。它将涉及大量数据。
因此,我想知道您的意见,应该使用哪些库来将数据库集成到应用程序中,以便最终获得良好的性能?应该使用NetBeans已经内置的JDBC Derby吗?
提前致谢!
3个回答

2

一些受欢迎的选项包括:

  1. HSQLDB
  2. BerkleyDB
  3. Sqlite
  4. Derby

很难说它们是否足够快,因为这是相对的。什么才算快?主机机器有多强大?数据集有多大?等等。

然而,我可以说我在相当中等的台式机上看到了来自HSQLDB的非常好的性能,具有相当大的数据集(100K记录+)。我只在Android上探索了Sqlite,但在这个平台上表现非常出色(考虑到它运行的硬件)。

我认为你应该进行一些概念验证,并使用一些模拟数据进行测试。


2
我多年来一直在生产中使用Derby,它运行良好。H2数据库看起来也不错,据说比Derby提供更好的性能,但我没有在生产中使用过它。这三个数据库(包括HSQLDB)都是很好的选择,因为它们是纯Java的,你只需要将所需的jar文件与应用程序捆绑即可。Sqlite和Berkely也是不错的产品,但它们不是用Java编写的,所以我想这些可能会更难处理。
你不需要任何特定的库。以上每个数据库都应该提供一个JDBC驱动程序,这是标准的做法。你当然可以像上面提到的那样使用ORM(如Hibernate)。这使某些事情变得更简单,但如果你刚开始学习,最好先避免使用它。

1
如果Derby可用,我会使用Derby。HSQLDB是另一个不错的选择。对于库,我会查看一些数据库访问库。Spring是一个不错的选择。如果您控制数据库,我会考虑使用ORM映射框架,如Hibernate。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接