200 likes | 336 Views
Torque in Turbine. Team 4 Josef Bohninger Thomas Lindenhofer Eva Maria Mair Klaus Viehböck. Was ist OR-Mapping?. Ist die Abkürzung von „Object Relational Mapping“. ORM ermöglicht eine Verbindung von objektorientierten Datenstrukturen und Relationalen Datenbanken
E N D
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer Eva Maria Mair Klaus Viehböck
Was ist OR-Mapping? • Ist die Abkürzung von „Object Relational Mapping“. • ORM ermöglicht eine Verbindung von objektorientierten Datenstrukturen und Relationalen Datenbanken • Die Daten können dadurch persistent gespeichert werden. • Dazu benötigt man Tourque
Aufgaben von Torque • Erzeugt Java-Klassen für das Objektmodell • Erzeugt den SQL DDL Code zur Tabellenerzeugung • Und die Dokumentation
Torque in Turbine • Tourque stellt einen wichtigen Teil von Turbine dar • Kann aber auch unabhängig von Turbine verwendet werden • Turbine Securityschema ist mit Torque realisiert. • Das heißt Tourque wird zur Realisierung der Benutzeridentifikation verwendet
Features von Torque • Ist eine Abstraktion über konkrete Datenbanken • Unterstützt mehrere Datenbanken wie mySQL, SapDB, Oracle,…
Torque Generator • Input: • Id-schema.xml • Project-schema.xml • Torque liefert ein Ant-File build-torque.xml mit • Output: • id-schema.sql • bookstore-schema.sql • Java Files
Welche Dateien müssen für ein neues Projekt angepasst werden? • build.properties • project-schema.xml • id-schema.xml • Torque.properties
Build properties • Datenbankeinstellungen müssen vorgenommen werden • TDK-Home Verzeichnis muss gesetzt werden (wenn in Turbine Integriert) • Setzen des Projektnamens
project-schema.xml • Beinhaltet die Tabellenstruktur der Datenbank • Wird am Beispiel näher erläutert
Id-schema.xml • Beinhaltet die Beschreibung für den ID-Broker • Ermöglicht den späteren Zugriff auf die Datenbank • Ist notwendig für die Erzeugung der ID-Tabelle
Torque Properties • Wieder Datenbankeinstellungen • Log Einstellungen (Beispiele): • log4j.root.Category: Legt das Verzeichnis fest in dem das Logfile gespeichert wird. • log4j.appender.default: legt das Logfile im Filesystem an. • log4j.appender.default.file: legt den Namen der Datei Fest • log4j.appender.default.layout: definiert wie die Datei gegliedert ist.
Welche Java Klassen werden Erzeugt? • Pro definierter Tabelle werden 4 Klassen erzeugt: • Book.java • BaseBook.java • BookPeer.java • BaseBookPeer.java
Erzeugte Java Klassen (UML) BaseBookPeer {abstract} BaseBook {abstract} doInsert(…) doUpdate(…) doSelect(…) doDelete(…) getXXX(…)* setXXX(…)* Book BookPeer Code zur Erweiterung Code zur Erweiterung * XXX steht für Spaltenname. Die Methoden existieren für jede Spalte
Aufgaben der Base Klassen • Enthalten die gesamte Funktionalität die zur Manipulation der Tabellen verwendet werden muss • Sie enthalten zum Beispiel die Methoden: • doSelect (z.B.: AuthorPeer.doSelect(new Criteria)) • doInsert (z.B.: AuthorPeer.doInsert(new Author(…))) • doUpdate (z.B.: AuthorPeer.doUpdate(Author)) • …
Aufgabe der Data-Object Klassen • Erben von den Base Klassen • Ermöglichen zusätzliche Erweiterungen • Objekte die aus diesen Klassen erzeugt werden können u.A. zur Speicherung von Tabelleneinträgen verändert werden.
Aufgabe der Peer-Klassen • Erben von der jeweiligen BasePeer-Klasse • Stellen die Methoden zur Verfügung die verwendet werden um die Tabellen zu bearbeiten. • Diese Methoden sind Static • Beispiele für Methoden (von BasePeer geerbt): • doSelect • doInsert
Criterias • Wird für Abfragen Benötigt • Criteria Objekte werden erzeugt • Bsp.: Criteria crit = new Criteria(); crit.add(BookPeer.ISBN, "0-201-63346-9"); List v = BookPeer.doSelect(crit);
Links • Torque http://db.apache.org/torque/ • Tutorial http://db.apache.org/torque/tutorial/index.html • User Guide http://db.apache.org/torque/user-guide.html
Ende „Do not be discouraged if your application does not run the first time.“ Aus Torque Tutorial