我有一个Java SE应用程序,它使用数据库。我目前正在使用XML文件来存储数据,但我担心它会在以后的使用中导致一些错误。
所以使用像DB这样的Postgree / MySQL会很好。真正的数据库。但问题是,它是一个商业应用程序,它在Windows下运行,应该是2次点击安装。我真的不喜欢将数据库与我的应用程序一起安装,然后运行脚本来构建表。
是否有可用作Java API的数据库?或者我应该继续使用XML? (我正在同步对XML文件的每次访问)。什么是最佳选择?
答案 0 :(得分:13)
以下嵌入式数据库之一:
它们很轻巧,占用的空间非常小,可以在应用程序中毫无问题地嵌入。
由于它们是用Java编写的,并且每个都是一个简单的jar文件,因此您的部署难题将保持在最低限度。
你提到过MySQL和PostgreSQL。虽然我还没有尝试过,但H2为各种流行的数据库提供了几个compatibility modes,包括你提到过的数据库。
答案 1 :(得分:4)
它可以嵌入到您的应用程序中,无需安装点击,它支持JDBC和大多数ORM。
答案 2 :(得分:3)
绝对值得寻找一个简单的SQLite数据库作为存储。它只是文件系统上的单个文件。无需设置服务器。查看以下主题以获取介绍:Java and SQLite您可以查看的另一个数据库是HSQLDB(此线程中的另一个答案内的链接)。那个是基于单个文件用Java编写的关系数据库引擎。
答案 3 :(得分:1)
基于我以前将数据存储到XML中的天真经验,我在XML上编写了一个完整的论坛系统,它基于RSS解析器和编写器。 XML文件变得非常大,从而导致应用程序频繁请求超时。
您可以使用像SQLite这样的东西,其中数据存储在文件中但更多地管理并允许声明性语句,如SELECT * FROM table
。