Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger
Torque in Turbine
Team 3
Alexander Mittermair
Michael Wesinger
Themen
1. Was macht Torque?
2. Allgemeiner Überblick
3. Torque Build Properties
4. Torque Database Schema
5. Torque Run-Time-Properties
6. Generierungsschritte
7. Datenbank und Tabellen erstellen
8. Nutzung in JAVA
9. Interaktiver Teil
Was macht Torque?
Allgemeiner Überblick
• Als Teil des Turbine Frameworks entwickelt
• Nun Eigenständiges Projekt
• Object Persistance Layer
• Generiert– SQL Create Scripts– Notwendige Java-Klassen
Allgemeiner Überblick (2)
• Aufbauend auf Datenbank API Village
• Benutzt Peer Modell
• Laufzeitumgebung neben OM/Peer Klassen auch JDBC Connection Pool
Allgemeiner Überblick (3)
• Merkmale: (Auszug)– TorqueCreateDatabase– TorqueDataDTDTask– TorqueDataDumpTask– TorqueDataSQLTask– TorqueJDBCTransformTask
Torque Build Properties
• Java Source / Class Files erstellt
• Verwendet ANT für Build Properties
• (Entwicklungsumgebung aufzustellen)
– Eigenschaften setzen:
Torque.project = bookstore
Torque.database = mysql
Torque Database Schema
• XML file, die die SQL Datenbank in Torque darstellt (Tables, Spaltennamen und Typendef.)
• Im Schemaverzeichnis 2 XML files– id-table-schema.xml– project-schema.xml
Torque Database Schema (2)
• Bsp: Bookstore - Datenbank mit drei Table – Autor, Verleger, Buch– AutorID und VerlegerID Fremdschlüssel in
Buchtable
Genaueres später
Torque run time properties
• Notwendig wenn Applikation den von torque generierten Object-Model-Code ausführt
• Kontrollieren Datenbankparameter wie drivers, user name und passwords
Torque run time properties (2)
• run time property• log4j.rootCategory = DEBUG, default• log4j.appender.default =org.apache.log4j.FileAppender • log4j.appender.default.file = ./torque.log • log4j.appender.default.layout =
org.apache.log4j.SimpleLayout
• torque.database.default = bookstore • torque.database.bookstore.driver = org.gjt.mm.mysql.Driver • torque.database.bookstore.url =
jdbc:mysql://127.0.0.1/bookstore• torque.database.bookstore.username = user • torque.database.bookstore.password = password
Torque run time properties (3)
• torque.database.bookstore.username
User mit ausreichend Privilegien für DB-Zugriff
Generierungsschritt
• Objektmodell produziert Java Source Files
• Klassen ermöglichen Objekte zu löschen, editieren, auswählen
• Torque generiert SQL um Datenbanktabellen zu schaffen
• Folg. Befehl um zu generieren:– Ant –f build-torque.xml
Datenbank und Tabellen erstellen
• Torque kann die Datenbank und alle zugehörigen Teile automatisch erstellen
• Voraussetzung: Databasedriver im classpath, sodass Torque sich mit Datenbank verbinden kann.
• Wie geht das? Dem torque lib-Verzeichnis den Datenbankdriver hinzufügen
Datenbank und Tabellen erstellen (2)
• Datenbank anlegenant –f build-torque.xml create-db
• Tables anlegenant –f build-torque.xml id-table-init-sql
ant –f build-torque.xml insert-sql
Erfolg aufgezeigt durch <BUILD SUCCESSFUL>
Erzeugte Java Klassen (UML)Bsp.: Table Book
Funktionalität hinzufügbar
• 4 Klassen pro Table
• “non-Base” Dateien erweiterbar
• In Java Code
• Beispielsweise toString Methode
Anwendung in JAVA
• import org.apache.torque.*;• import org.apache.torque.util.*;
• Publisher Springer = new Publisher();• Springer.setName(“Springer Verlag”);• Springer.save();
• Author.setPublisherId(Springer.getPublisherId());
Abfragen in Java (1)
• Criteria test = new Criteria();• List test2 = PublisherPeer.doSelect(test);
• Criteria test = new Criteria()• test.add(PublisherPeer.Publisher_ID, “Springer Verlag”);
Fremdschluessel
• Book test = new Book()
• test.setAuthor(addison)
oder:
• test.setAuthor(addison.getPublisherId())
Weitere Informationen
• http://db.apache.org/torque/tutorial/index.html
• http://rzserv2.fhnon.de/~lg002556/torque/
I see and I forget,I hear and I rememberI do and I understand
Datenbank PFM
• Table Konto
• Column: • Knummer Integer
• Bezeichnung Varchar