2017-05-27 40 views
0

首先,我知道這裏有一些問題有類似的標題,但用例總是不同。桌面應用程序 - 如何存儲多個靴子的數據

我有一個桌面應用程序(Windows/Linux環境),用Spring編寫的Java啓動。執行爲.jar

我希望此應用程序可以關閉並重新啓動,並且以前存儲/使用的數據仍然可用。但要求是用戶不需要單獨安裝數據庫。我測試了Spring的嵌入式H2數據庫功能,但在應用程序的每次重新引導時都是空的。看來這個解決方案只適用於運行時?

我想出的唯一解決方案是使用一個objectwrite並將數據存儲在XML中,並在restard之後重新讀取它。但很多人認爲這不是存儲數據的專業方式。

那麼除了XML之外,還有什麼解決方案嗎?或者如果沒有安裝外部數據庫就無法實現?

非常感謝您

回答

0

您可以使用H2數據庫file的數據保存到文件中,這樣一來,不會有任何需要單獨安裝數據庫,看看不同的H2配置here

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時存在停止數據庫,爲解釋here。所以,數據庫網址將是:

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

一個額外的感謝你的透明和完整的解決方案! – AnnaKlein