Eingebettete Datenbank auf Java

Ich brauche eine Datenbank, ohne einen Server betreiben zu müssen. Es wird nicht groß sein, höchstens 10 MB und 5 Spalten. Ich brauche es nicht, um so etwas wie Primär- oder Fremdschlüssel zu haben, nur irgendwo, wo ich schreiben/lesen/bearbeiten kann.

Aber ich weiß nichts über eingebettete Datenbanken auf Java, also was ist die am häufigsten verwendete eingebettete Datenbank mit persistentem Speicher? So kann ich Tutorials nachschlagen, weil ich kein gutes Tutorial darüber finden konnte

Antworten (1)

H2

H2 Database ist eine relationale Datenbank-Engine, die in reinem Java erstellt wurde. Aktiv entwickelt von jemandem mit einer langen Geschichte in der Herstellung solcher Produkte. Open-Source und kostenlos.

Kann entweder eingebettet in Ihre Java-App verwendet oder separat als Datenbankserver ausgeführt werden.

H2 könnte sicherlich mit Ihren Daten umgehen und noch viel mehr.

Standardmäßig speichert H2 Ihre Daten dauerhaft auf der Festplatte, mit ACID - kompatiblen Transaktionen zum Schutz vor Beschädigung während eines Absturzes. Optional können Sie die Ausführung als In-Memory-Datenbank konfigurieren, aber dann verschwinden Ihre Daten nach einem Absturz oder Herunterfahren.

Sie müssen etwas über relationale Datenbanken im Allgemeinen, über H2 im Besonderen und über die Kommunikation mit einer Datenbank von Java über JDBC mit SQL lernen .

Übrigens sollten Sie auch bei einer einzelnen Tabelle immer einen Primärschlüssel haben. Wenn Ihre Daten noch keine eindeutige Kennung enthalten, weisen Sie jeder Zeile bei INSERT entweder eine fortlaufende Nummer oder einen UUID -Wert zu.

Apache-Derby

Eine weitere eingebettete relationale Datenbank-Engine ist Apache Derby , ehemals IBM Cloudscape. Wird auch von Sun/Oracle als Java DB vertrieben . Geschrieben in reinem Java.

Funktioniert es, wenn ich die JAR-Datei baue? Ich brauche die App, um "portabel" zu sein, ich meine, wenn ich die App mit einer eingebetteten H2-Datenbank mit Daten auf meinem Computer habe und sie in ein USB-Laufwerk kopiere und sie dann auf einem anderen Computer ausführe, wird hat es die gleichen daten? Ich weiß nicht, ob die Präpositionen richtig verwendet wurden, "auf meinem Computer" und "in ein USB-Laufwerk", ich bin froh, wenn Sie mich korrigieren. Danke
@EstebanBal Ja. Probieren Sie es aus, überzeugen Sie sich selbst.