schule:db4o
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
schule:db4o [2013-11-20 18:07] – marco.bakera | schule:db4o [2021-04-21 15:34] (aktuell) – [Für Java] youtube link pintman | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== db4o ====== | ====== db4o ====== | ||
- | [[http:// | + | [[wpde>db4o]] steht für " |
- | Ich habe mir das Paket einmal | + | ===== Für Java ===== |
+ | |||
+ | |||
+ | Ich habe mir das Paket angeschaut und ein Beispiel für Java programmiert und mitgefilmt. Das Ganze habe ich in der IDE Eclipse durchgeführt. | ||
+ | |||
+ | < | ||
+ | <iframe width=" | ||
+ | </ | ||
+ | ===== Für C# und .NET ===== | ||
+ | |||
+ | Für unsere Versuche benötigen wir eine einfache Klasse " | ||
+ | |||
+ | <code csharp> | ||
+ | class Person | ||
+ | { | ||
+ | string name; | ||
+ | |||
+ | public Person(string meinName) | ||
+ | { | ||
+ | name = meinName; | ||
+ | } | ||
+ | |||
+ | public void NameÄndern(string neuerName) | ||
+ | { | ||
+ | name = neuerName; | ||
+ | } | ||
+ | |||
+ | public Boolean Heißt(String einName) | ||
+ | { | ||
+ | return name.Equals(einName); | ||
+ | } | ||
+ | |||
+ | public override string ToString() | ||
+ | { | ||
+ | return name; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Um db4o benutzen zu können, importieren wir die nötigen Klassen. | ||
+ | |||
+ | <code csharp> | ||
+ | using Db4objects.Db4o; | ||
+ | </ | ||
+ | |||
+ | In einem einfachen Konsolenprogramm erzeugen wir nun eine Datenbank und zwei Personen Max und Moni. Diese werden anschließend in der Datenbank gespeichert. | ||
+ | |||
+ | |||
+ | <code csharp> | ||
+ | IEmbeddedObjectContainer db = Db4oEmbedded.OpenFile(" | ||
+ | |||
+ | Console.WriteLine(" | ||
+ | Person max = new Person(" | ||
+ | Person moni = new Person(" | ||
+ | |||
+ | Console.WriteLine(" | ||
+ | db.Store(max); | ||
+ | db.Store(moni); | ||
+ | </ | ||
+ | |||
+ | Um an die Objekte in der Datenbank zu gelangen, lassen wir uns alle Personen ausgeben, die in der Datenbank gespeichert sind. | ||
+ | |||
+ | <code csharp> | ||
+ | Console.WriteLine(" | ||
+ | // Wir suchen nach allen Personen in der Datenbank | ||
+ | IList< | ||
+ | foreach (Person person in gefunden) | ||
+ | { | ||
+ | Console.WriteLine("> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Ausgabe: | ||
+ | > Max | ||
+ | > Moni | ||
+ | |||
+ | Wenn wir nachträglich ein Objekt ändern, müssen wir der Datenbank die Änderung mitteilen. Das machen wir nun, indem wir den Namen von Max ändern. | ||
+ | |||
+ | <code csharp> | ||
+ | Console.WriteLine(" | ||
+ | max.NameÄndern(" | ||
+ | Console.WriteLine(" | ||
+ | db.Store(max); | ||
+ | |||
+ | Console.WriteLine(" | ||
+ | gefunden = db.Query< | ||
+ | foreach (Person person in gefunden) | ||
+ | { | ||
+ | Console.WriteLine("> | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Ausgabe: | ||
+ | > Maxi | ||
+ | > Moni | ||
+ | |||
+ | Wir können die Datenbank gezielt nach bestimmten Objekte durchsuchen. Dazu übergeben wir der Query-Methode ein Prädikat, das für alle Objekte erfüllt sein muss, die wir suchen. | ||
+ | |||
+ | <code csharp> | ||
+ | Console.WriteLine(" | ||
+ | IList< | ||
+ | foreach (Person eineMoni in monis) | ||
+ | { | ||
+ | Console.WriteLine("> | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Ausgabe: | ||
+ | > Moni | ||
+ | |||
+ | Zum Schluss löschen wir alle Personen wieder aus der Datenbank. | ||
+ | |||
+ | <code csharp> | ||
+ | Console.WriteLine(" | ||
+ | IList< | ||
+ | |||
+ | foreach (Person person in allePersonen) | ||
+ | { | ||
+ | Console.WriteLine(" | ||
+ | db.Delete(person); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Ausgabe: | ||
+ | > Lösche Maxi | ||
+ | > Lösche Moni | ||
+ | |||
+ | |||
+ | Um die Datenkbankverbindung sauber zu beenden, schließen wir zum Schluss die Datenbank. | ||
+ | |||
+ | <code csharp> | ||
+ | Console.WriteLine(" | ||
+ | db.Close(); | ||
+ | </ | ||
- | {{: |
schule/db4o.1384967231.txt.gz · Zuletzt geändert: 2017-04-19 08:39 (Externe Bearbeitung)