Beste Weg zum speichern von Daten in einer Java-Anwendung?
Ich versuche den besten Weg finden, um den Zustand sichern eine einfache Anwendung.
Aus DB-Sicht es gibt 4/5-Tabellen mit Datums-Feldern und Beziehungen natürlich.
Weil die app ist einfach, und ich möchte, dass der Benutzer die Möglichkeit haben, die Daten zu verschieben um (usb-Stick, dropbox, etc), wollte ich alle Daten in einer einzigen Datei.
Was ist der beste Weg,/lib, dies zu tun?
XML in der Regel ist das beste format für diese (Lesbarkeit & Offenheit), aber ich habe nicht gefunden eine tolle lib für diese ohne SAX/DOM.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie verwenden möchten, XML, werfen Sie einen Blick auf XStream für einfache Serialisierung von Java-Objekten in XML. Hier ist "Zwei-Minuten-tutorial".
Wenn Sie wollen etwas einfaches, standard - Java-Properties-format werden können, auch eine Möglichkeit zum speichern/laden einige kleine Daten.
betrachten mit klarem JAXB-Annotationen, die mit dem JDK:
hier ein blog-post von mir das gibt mehr details über diese einfache Nutzung von JAXB (auch mentiones mehr "classy" JAXB-basierten Ansatz-in Fall müssen Sie eine bessere Kontrolle über Ihre XML-schema, z.B. zur Gewährleistung der Abwärtskompatibilität)
2 andere Optionen, die Sie erwägen -
java. Mehr relevant für Ihre
Zwecke, es kann so konfiguriert werden,
schreiben Sie einfach eine csv-Datei, wie es ist
Daten speichern, so dass Sie denkbar
verwenden Sie die text-Ausgabe als portable
datastore, und noch die sql verwenden, wenn
das ist, was Sie bevorzugen.
datastore direkt an eine serielle
Datei entweder direkt oder über einen
Bibliothek, wie prevayler. Sehr gut
Leistung und einfach zu implementieren,
Nachteile sind die zerbrechlichkeit und die Deckkraft
das format.
Aber wenn die Daten klein genug ist, xml ist vermutlich viel weniger stören.
Wenn Sie nicht brauchen, um liefern die semantische Bedeutung, um Ihre Daten dann in XML ist vermutlich eine falsche Wahl. Ich würde empfehlen, mit der Fett-freie alternative JSON, die viel mehr ist natürlich auch gebaut für die Daten-Strukturen.