繁体   English   中英

桌面应用程序-如何存储数据以进行多次启动

[英]Desktop application - How to store Data for multiple boots

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

我有一个桌面应用程序(Windows / Linux环境),该应用程序是用Spring Boot用Java编写的。 执行为.jar

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

我发现的唯一也是唯一的解决方案是使用对象写入并将数据存储为XML,并经过一番努力后重新读取。 但是许多人说这不是存储数据的专业方法。

那么,除了XML之外,还有其他解决方案吗?或者如果不安装外部数据库就无法解决该问题吗?

非常感谢你

您可以使用带有file H2数据库将数据持久保存到文件中,这样,就不需要单独安装数据库了,在这里查看不同的H2配置。

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

此外,您还可以使用DB_CLOSE_ON_EXIT=FALSE从关闭VM时存在停止数据库,如解释在这里 因此,数据库url为:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM