[Suche:] Passende Datenbank?

Ich hab mal ein kleines Beispiel projekt erstellt. Das Zip archiv einfach entpacken und in eclipse als "Existing Projekt" Importieren und den Speicherort der DB ändern. (Zeile 21)
Java:
package org.kleeschulte.example.db4o.app;

import org.kleeschulte.example.db4o.model.Auto;
import org.kleeschulte.example.db4o.model.Person;

import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;

/**
 * 
 * @author Kleeschulte
 * @since 19.02.2010
 */
public class App {

	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
		// Datenbank öffnen
		ObjectContainer db = Db4o
				.openFile("C:/Users/Kleesch/Desktop/testDB.endung");
		try {

			// Person Speichern
			db.store(new Person("Paul", "Panzer", 28));
			db.store(new Person("Max", "Mustermann", 30));

			// Alle Personen aus db holen
			ObjectSet<?> result = db.queryByExample(new Person());
			while (result.hasNext()) {
				Person p = (Person) result.next();
				System.out.print(p.getName() + ", ");
				System.out.print(p.getNachname() + " ");
				System.out.println(p.getAlter());
			}

			// bestimmte Person suchen
			Person suche = new Person();
			suche.setNachname("Panzer");
			result = db.queryByExample(suche);
			Person found = null;
			if (result.hasNext()) {
				// Person ändern
				found = (Person) result.next();
				found.setAlter(found.getAlter() + 1);

				// Abhängigkeiten...
				Auto auto = new Auto("Opel", "schwarz", 140);
				found.setAuto(auto);

				// Person wieder speichern (Auto wird automatisch
				// mitgespeichert)
				db.store(found);

				// Lösche eine Person
				// db.delete(found);
			} else {
				System.out.println("Person wurde nicht in DB gefunden.");
			}

			// Alle Autos aus DB holen
			result = db.queryByExample(new Auto());
			while (result.hasNext()) {
				Auto auto = (Auto) result.next();
				System.out.print(auto.getHersteller() + ", ");
				System.out.print(auto.getFarbe() + " ");
				System.out.println(auto.getPs() + "Ps");
			}

			// Änderungen festschreiben
			// db.commit();

			// Änderungen verwerfen
			db.rollback();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
		}
		// Datenbank schließen
		db.close();
	}

}
Ich habe selbst noch nicht viel damit gearbeitet. Aber es scheint wirklich sehr einfach und recourcen schonent zu sein.

TAGS: db4o java example howto beispiel Objektdatenbank
 

Anhänge

Zuletzt bearbeitet:
:eek: Geil!

Ich danke euch wie verrückt DB4O klingt nach genau dem was ich gesucht habe.

Vielen Dank!
 
Zuletzt bearbeitet:
Zurück