Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:db4o

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
schule:db4o [2013-11-21 20:22] – [Für C# und .NET] Einrückung marco.bakeraschule:db4o [2015-12-15 15:49] – [db4o] Link korr. marco.bakera
Zeile 1: Zeile 1:
-====== db4o ====== 
- 
-[[http://www.db4o.com/|db4o]] steht für "database for objects" und ist eine [[oodb|objektorientierte Datenbank]]. Die Inhalte werden also nicht in Tabellen abgelegt, sondern direkt als Objekt gespeichert. 
- 
-===== 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. 
- 
-{{:schule:db4o_-_erste_schritte.mp4|512x384}} 
- 
-===== Für C# und .NET ===== 
- 
-Für unsere Versuche benötigen wir eine einfache Klasse "Person". 
- 
-<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; 
-        } 
-    } 
-</code> 
- 
-Um db4o benutzen zu können, importieren wir die nötigen Klassen. 
- 
-<code csharp> 
-using Db4objects.Db4o; 
-</code> 
- 
-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("datenbank.db4o"); 
- 
-Console.WriteLine("Nun erstellen wir Max und Moni..."); 
-Person max = new Person("Max"); 
-Person moni = new Person("Moni"); 
- 
-Console.WriteLine("... und speichern sie in der Datenbank ab"); 
-db.Store(max); 
-db.Store(moni); 
-</code> 
- 
-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 geben alle Personen aus, die sich in der Datenbank befinden."); 
-// Wir suchen nach allen Personen in der Datenbank 
-IList<Person> gefunden = db.Query<Person>(); 
-foreach (Person person in gefunden) 
-{ 
-    Console.WriteLine("> " + person.ToString()); 
-} 
-</code> 
- 
-  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("Wir können die Objekte auch ändern: z.B. den Namen."); 
-max.NameÄndern("Maxi"); 
-Console.WriteLine("Und speichern das aktualisierte Obekt wieder ab."); 
-db.Store(max); 
- 
-Console.WriteLine("So sieht der Inhalt der Datenbank nun aus:"); 
-gefunden = db.Query<Person>(); 
-foreach (Person person in gefunden) 
-{ 
-    Console.WriteLine("> " + person.ToString()); 
-} 
- 
-</code> 
- 
-  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("Wir können auch nur bestimmte Personen ausgeben - z.B. alle Monis"); 
-IList<Person> monis = db.Query<Person>(p => p.Heißt("Moni")); 
-foreach (Person eineMoni in monis) 
-{ 
-    Console.WriteLine("> " + eineMoni); 
-} 
-</code> 
- 
-  Ausgabe: 
-  > Moni 
-   
-Zum Schluss löschen wir alle Personen wieder aus der Datenbank. 
- 
-<code csharp> 
-Console.WriteLine("Nun löschen wir alle Personen aus der Datenbank."); 
-IList<Person> allePersonen = db.Query<Person>(); 
-             
-foreach (Person person in allePersonen)  
-{ 
-    Console.WriteLine("Lösche " + person.ToString()); 
-    db.Delete(person); 
-} 
-</code> 
- 
-  Ausgabe: 
-  > Lösche Maxi 
-  > Lösche Moni 
- 
- 
-Um die Datenkbankverbindung sauber zu beenden, schließen wir zum Schluss die Datenbank. 
- 
-<code csharp> 
-Console.WriteLine("Am Ende schließen wir unsere Datenbank wieder"); 
-db.Close(); 
-</code>             
  
schule/db4o.txt · Zuletzt geändert: 2021-04-21 15:34 von pintman