150 likes | 393 Views
torque. robert.resch-wolfgang.schneider. Was ist Torque Komponenten von Torque Generator Erzeugte Klassen Methoden Torque in Turbine Demobeispiel. uebersicht. O/R-Mapping-Tool (Object Relational Mapping ) Verbindung rel. DB und objektorientierte Datenstrukturen
E N D
torque robert.resch-wolfgang.schneider
Was ist Torque • Komponenten von Torque • Generator • Erzeugte Klassen • Methoden • Torque in Turbine • Demobeispiel uebersicht
O/R-Mapping-Tool(Object Relational Mapping) • Verbindung rel. DB und objektorientierte Datenstrukturen • „versteckt“ Datenbank hinter Objektmodell • Persistenz der Daten wasIstTorque 1
Generator • Generiert eine Datenbank und Zugriffs-funktionalitäten als JAVA Klassen aus einem Datenbankschema (in XML beschrieben) • Kann mit Hilfe von ANT ausgeführt werden • build-torque.xml (im TDK automatisch mit ant init) • Runtime • Laufzeitumgebung zur Ausführung der OM-Klassen komponenten 2
Pro Relation werden vier Klassen erzeugt: • Basisklassen • sind abstrakt • pro Attribut eine get/set Methode (BaseX) Erweiterbare-Klassen(=OM-Klassen) java-klassen 4
Methoden zum Bearbeiten der Datenbank: • doInsert(…) • doUpdate(…) • doDelete(…) • doSelect(…) • Methoden sind static peerklassen 5
Datensatz einfügen: Rdf new_rdf = new Rdf(); cur.setBezeichnung(userIn.readLine()); cur.setBemerkung(userIn.readLine()); cur.setOrt(userIn.readLine()); cur.setBeginndatum(readDate()); cur.setEnddatum(readDate()); RdfPeer.doInsert(new_rdf); oder mit Methode save(): Rdf cur = new Rdf();cur.setBezeichnung(userIn.readLine());… cur.save(); Wenn Objekt bereits besteht führt save() ein Update aus doInsert 6
Datensatz aktualisieren: Rdf appoint = *Rdf-Objekt* appoint.setBezeichnung("Neue Bez."); RdfPeer.doUpdate(appoint); oder mit Methode save() appoint.setBezeichnung("Neue Bez."); appoint.save(); doUpdate 7
Datensatz löschen: Criteria crit = new Criteria(); crit.add(RdfPeer.RDF_ID, 1252); RdfPeer.doDelete(crit); • Criteria-Objekt: • Zur Einschränkung der Ergebnismenge – quasi WHERE-Klausel doDelete 8
Datensatz abfragen: Criteria crit = new Criteria(); crit.add(RdfPeer.BEGINNDATUM, readDate(), Criteria.GREATER_THAN); List app = RdfPeer.doSelect(criteria); doSelect 9
Torque als Teil von Turbine entwickelt Kann inzwischen unabhängig von Turbine verwendet werden Turbine Securityschema/ Benutzerkonzept ist mit Torque realisiert. torque&turbine 10
Dateien unter:www.schneider.liwest.at/studium/torqueExample.zip • Datenbankschema ändernnewapp/web-inf/conf/newapp-schema.xml • Datentypenturbine-2.2/src/dtd/database.dtd • build.xml run ant build… • 4 Basis-Klassen + Sql Code werden erzeugt demo 11
Rdf überschreiben (Refresh!!) • Log4j.properties + torque.properties überschreiben (C:\tdk-2.2\webapps\newapp\WEB-INF\classes) • torqueExample einfügen (Import – FileSystem) • Log4j.properties nach Web-Inf/classes kopieren demo 12
Danke für • Eure Aufmerksamkeit danke