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,…
Was macht Torque?
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