将SQL数据库打包在JAR文件中是一个好的做法吗?

3

我想创建一个没有任何依赖的Java库,但它需要使用嵌入式SQL数据库。把二进制数据库文件和访问它的驱动程序打包到JAR文件中是一个好的做法吗?有哪些优缺点?

3个回答

4

HSQLDB

越来越多的Java应用程序在启动时都有自己的“内存”数据库。可以查看hsqldb作为一个例子。 最明显的优点是您可以控制数据库,而不必考虑不同的DB服务器和它们的sql方言。


3

继续,这是一个广泛采用的实践,例如 Hibernate。

对于内存受限设备:

那么根本不要使用嵌入式数据库。尝试使用ThoughtWorksXStream,将对象序列化/反序列化为XML / jSon,可以存储在文件中。这是一种非常有效的解决方案,具有小的内存占用。


我需要数据库的原因是因为我需要搜索记录(类似于“SELECT description FROM table WHERE name LIKE '%...%'”这样的查询)。XStream提供这样的功能吗?或者是否有任何内存高效的解决方案,即使不是SQL? - rid
不,它不提供这样的功能。 - Boris Pavlović

0

你的数据库将是只读的(因为你无法在运行时重新打包jar文件)。如果这没问题,那就尽情使用吧 :)


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