230 likes | 399 Views
Torque in Turbine. Team 3 Alexander Mittermair Michael Wesinger. Themen. Was macht Torque? Allgemeiner Überblick Torque Build Properties Torque Database Schema Torque Run-Time-Properties Generierungsschritte Datenbank und Tabellen erstellen Nutzung in JAVA Interaktiver Teil.
E N D
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger
Themen • Was macht Torque? • Allgemeiner Überblick • Torque Build Properties • Torque Database Schema • Torque Run-Time-Properties • Generierungsschritte • Datenbank und Tabellen erstellen • Nutzung in JAVA • Interaktiver Teil
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 anlegen ant –f build-torque.xml create-db • Tables anlegen ant –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