我需要构建一个将安装在 Linux 服务器上的 Java 应用程序。
当人们安装时,他们只需要安装这个应用程序,启动它,仅此而已。但我们有一些数据需要保存。
- 我对MySQL说不,因为它需要服务器。
- 我对 XML 说不,因为确实需要保存和操作大量数据。
所以我正在寻找我认为最好的 SQLite。确实(如果我错了请阻止我),SQLite 不需要任何服务器? (只需安装最终的应用程序,SQLite 在我的应用程序中就可以正常工作?)
然后我检查了http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers我真的有点困惑。
- 包装器和驱动程序有什么区别?
- 另外我看到存在一个“纯java实现”:SQLJet它或多或少是优化的吗?
- 最后,在我的情况下你会用什么?
另一个要考虑的数据库是H2。它是一个完全用 Java 编写的嵌入式数据库引擎,因此您可以享受 Sqlite 提供的完整 unicode(16 位)字符支持的好处not有。其他嵌入式数据库有HSQLDB and Derby.
sqlite 对服务器不需要任何要求吗?
正确的。它不是。 H2 也没有。
只需安装最终的应用程序,sqlite 在我的应用程序中可以正常工作吗?
正确的。只要您在 WAR 中包含 Sqlite 或 H2(或将其解压到 jar 中),它就可以正常工作。
包装器和驱动程序有什么区别?
取决于用途。我认为 Sqlite 正在谈论这样一个事实:当您使用 Sqlite 的 JDBC 驱动程序时,它实际上是驱动程序内 Sqlite C 本机库的包装。通常,JDBC 驱动程序与远程数据库进行通信。
H2 也是这样,“驱动程序”实际上执行数据库操作,只是它是用 Java 编写的,因此您不需要 C 包装器。
另外我看到存在一个“纯java实现”:SQLJet它或多或少是优化的吗?
这是我第一次听说 Sqljet,所以我不确定。这Xerial Sqlite 驱动程序这是我用过的,它的性能似乎不错。
最后,在我的情况下你会用什么?
我自己会使用 H2 来实现本机 Java 功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)