桌面应用程序 - 如何存储多个靴子的数据

时间:2017-05-27 12:54:29

标签: java database spring

首先我知道这里有一些问题有类似的标题,但用例总是不同的。

我有一个桌面应用程序(Windows / Linux环境),用Java编写,带有Spring启动。被执行为.jar

我希望可以关闭并重新启动此应用程序,并且以前存储/使用的数据仍然可用。但要求是用户不需要单独安装数据库。我测试了Spring的嵌入式H2数据库功能,但每次重启应用程序时它都是空的。看来这个解决方案只适用于运行时?

我想到的唯一解决方案是使用对象写入并将数据存储在XML中,并在重新启动后重新读取它。但许多人说这不是存储数据的专业方式。

那么除了XML之外还有其他任何解决方案吗?如果没有安装外部数据库,这是不可能的?

非常感谢

1 个答案:

答案 0 :(得分:0)

你可以使用带有file的H2数据库将数据保存到文件中,这样就不需要单独安装数据库,看看不同的H2配置{{ 3}}

application.propertiles将如下所示:

spring.datasource.url=jdbc:h2:file:~/data
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=org.h2.Driver

此外,如here所述,您可以使用DB_CLOSE_ON_EXIT=FALSE阻止数据库在VM存在时关闭。所以,db url将是:

spring.datasource.url=jdbc:h2:file:~/data;DB_CLOSE_ON_EXIT=FALSE