2017-05-27 2 views
0

Ich weiß zuerst, dass es einige Fragen gibt, die einen ähnlichen Titel haben, aber der Anwendungsfall war immer unterschiedlich.Desktop-Anwendung - Wie man Daten für mehrere Stiefel speichert

Ich habe eine Desktop-Anwendung (Windows/Linux-Umgebung), in Java mit Spring Boot geschrieben. Als .jar ausgeführt

Ich möchte, dass diese Anwendung geschlossen und neu gestartet werden kann und die vorherigen gespeicherten/verwendeten Daten noch verfügbar sind. Voraussetzung ist jedoch, dass der Benutzer keine separate Datenbank installieren muss. Ich habe die eingebettete H2-Datenbank von Spring getestet, aber bei jedem Neustart der Anwendung ist sie leer. Es scheint, dass diese Lösung nur für die Laufzeit geeignet ist?

Die einzige Lösung, die ich herausgefunden habe, ist ein Objekt zu schreiben und die Daten in XML zu speichern und nach einem Neustart erneut zu lesen. Aber viele sagen, dass dies nicht die professionelle Art ist, Daten zu speichern.

Gibt es neben XML eine Lösung oder ist es einfach nicht möglich, eine externe DB zu installieren?

Vielen Dank

Antwort

0

Sie H2 Datenbank mit file verwenden können, um die Daten in die Datei zu bestehen, auf diese Weise wird es keine Notwendigkeit, die Datenbank separat zu installieren, einen Blick auf die verschiedenen H2 haben Konfigurationen here.

application.propertiles wird wie diese aussehen:

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

Sie können aber auch DB_CLOSE_ON_EXIT=FALSE verwenden, um die Datenbank zu schließen, wenn VM existiert zu stoppen, wie here erläutert. Also, die Db-URL wäre:

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

Ein extra danke für diese transparente und vollständige Lösung! – AnnaKlein

Verwandte Themen