![]() |
|
| #1 (permalink) | |||
|
Stammbenutzer
Floppy Disc
Registriert seit: 19.05.2009
Fachbeiträge: 762
Abgegebene Danke: 52
Erhielt 87 Danke für 70 Beiträge
|
Eingebettete Datenbanken - Embedded Database
Datenbanksysteme bieten zahreiche Vorteile, wenn es um die Organisation großer Datenmengen geht. Es existieren viele Systeme, die als Datenbankserver laufen. In diesem Fall kommuniziert der Client mit dem Server um Daten abzufragen oder zu speichern. Eine Reihe an Projekten ermöglicht es dagegen auch, eine Datenbank direkt in ein Programm einzubetten. In der Regel ist es hierfür lediglich notwendig, die entsprechende Bibliothek dem Klassenpfad hinzuzufügen. Eine Auswahl an Datenbanksystemen für den Einsatz als Embedded Database (alle in Java geschrieben und unter Apache-, MPL-, LGPL- oder BSD-Lizenz oder einer vergleichbaren Lizenz einsetzbar; auch für kommerzielle closed-source Projekte geeignet): H2 Database Engine + Schnelle Datenbank mit kleinem FootprintHSQLDB + kleine und sehr schnelle Datenbank für kleine bis mittlere DatenbankenApache Derby + bereits Teil des JDKOracle Berkeley DB 11g Keine persönliche Erfahrung / Keine Bewertung möglich Mckoi SQL Database Keine persönliche Erfahrung / Keine Bewertung möglich Daffodil DB - One$DB Keine persönliche Erfahrung / Keine Bewertung möglich Für die meisten Anwendungszwecke ist sicher H2, HSQLDB oder Derby eine sehr gute Wahl. Neben den hier dargestellten Datenbanksystemen gibt es darüber hinaus weitere, wie z. B. SQLite, die nicht in Java geschrieben sind, aber trotzdem aus einer Java-Anwendung heraus verwendet werden können. Weitere Infos und Bewertungen siehe z. B.
Eingebettete Datenbank am Beispiel von H2 Zunächst muss die zugehörige Jar-Datei dem Classpath hinzugefügt werden (h2-x.x.x.jar). Diese kann unter H2 - Downloads geladen werden. Das folgende Beispiel baut eine Verbindung zu einer eingebetteten H2-Datenbank auf, die im Benutzerverzeichnis abgelegt ist. Falls keine Datenbank vorhanden ist, wird diese beim ersten Verbindungsaufbau angelegt. Liegt am angegebenen Ort dagegen eine Datei mit dem Namen "myDatabase.h2.db", so wird diese automatisch eingebunden. Die Datenbank ist AES-verschlüsselt. Bitte denken Sie daran, dass Passwörter und Benutzernamen nicht im Code gespeichert werden sollten. Hier im Beispiel ist dies nur zur Verdeutlichung so gemacht. Der Code legt eine einfache Tabelle 'PERSON' an, sofern diese noch nicht existiert. Die Tabelle verfügt über die Felder ID, Vorname und Nachname, sowie ein Änderungsdatum (long, z. B. System.currentTimeMillis()). Das letzte Feld vom Typ OTHER dient in diesem Beispiel der Serialisierung eines Objekts. Kein Feld darf leer sein (= 'NOT NULL'). Informationen, über die in H2 verfügbaren Datentypen gibt es unter H2 - Data Types.
Nach dem Durchlaufen des Programms wird unter user.home eine Datenbankdatei mit der Bezeichnung myDatabase.h2.db zu finden sein. Geändert von L-ectron-X (25.06.2012 um 23:02 Uhr) Grund: Code formatiert |
||
|
|
|
| Danke sagen: |
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Relationale Datenbanken vs. objektorientierte Datenbanken | DennisXX | Plauderecke | 4 | 20.07.2011 15:59 |
| (MySQL) Datenbanken auslesen | Wanze | Datenbankprogrammierung | 3 | 03.08.2010 20:10 |
| Datenbanken synchronisieren | me82 | Datenbankprogrammierung | 2 | 02.09.2008 19:16 |
| Datenbanken mit MySQL einrichten | ich² | Datenbankprogrammierung | 11 | 09.11.2005 09:45 |
| Abfrage über zwei Datenbanken | netty | Datenbankprogrammierung | 9 | 23.05.2005 12:42 |
| Lesezeichen |
|
|