3

我正计划开始开发嵌入数据库的 java 桌面应用程序。它将是一个没有互联网连接的应用程序,仅用于插入、更新和删除数据库中的数据。会有很多数据。

那么,我想听听您的意见,我应该使用哪些库将数据库合并到应用程序中才能最终获得良好的性能?我应该使用已经与 netbeans 合并的 jdbc derby 吗?

提前致谢!

4

3 回答 3

2

我多年来一直在生产中使用 Derby,它运行良好。H2 数据库看起来也不错,它应该提供比 Derby 更好的性能,但我没有在生产中使用它。这两者以及 HSQLDB 都是不错的选择,因为它们是纯 java,您需要做的就是将所需的 jar 文件与您的应用程序捆绑在一起。Sqlite 和 Berkely 是很好的产品,但不是用 Java 编写的,所以我想这些会更难使用。

您不需要任何特定的库。上述每个数据库都应该提供一个 JDBC 驱动程序,这是做事的标准方式。您当然可以使用 ORM,例如上面提到的 Hibernate。这使一些事情变得更简单,但如果你刚刚开始,最好一开始就避免这种情况。

于 2012-10-25T13:45:29.427 回答
2

一些流行的选项是:

  1. 数据库
  2. 伯克利数据库
  3. 方镁石
  4. 德比

不可能说它们是否会“足够快”,因为它都是相对的。什么是足够快的?主机有多强大?你的数据集有多大?等等等等。

但是,我可以说我已经从 HSQLDB 看到了非常好的性能,在相当中等的桌面计算机上具有相当大的数据集(100K 记录 +)。我只为 android 探索过 Sqlite,但它在这个平台上非常令人印象深刻(考虑到它运行的硬件)。

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

于 2012-10-25T13:05:31.750 回答
1

如果 Derby 可用,我会使用 Derby。HSQLDB 是另一个不错的选择。对于图书馆,我会查看一些用于数据库访问的图书馆。春天浮现在脑海。如果您可以控制数据库,我会考虑使用诸如 Hibernate 之类的 ORM 映射框架。

于 2012-10-25T13:06:27.793 回答