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
schule:db4o [2013-11-20 18:30] marco.bakeraschule:db4o [2021-04-21 15:34] (aktuell) – [Für Java] youtube link pintman
Zeile 1: Zeile 1:
 ====== db4o ====== ====== 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.+[[wpde>db4o]] steht für "database for objects" und ist eine bjektorientierte [[Datenbanken|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. 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}}+<html> 
 +<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/4MfzGISHrsI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 
 +</html> 
 +===== 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 ändernz.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.1384968612.txt.gz · Zuletzt geändert: 2017-04-19 08:39 (Externe Bearbeitung)