Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Microsoft SQL Server wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Clusterpoint wikipedia , lookup
Jakarta - Torque CIS 764 Presentation Deepti Gupta Overview Object Relational Mapping Torque overview Configuring Torque Invoking Torque Sample application Conclusion References Object Relational Mapping The process of transforming between object and relational modeling approaches. Technique of mapping relational rows from a relational database to objects in memory where they can be manipulated by an objectoriented program. Jakarta - Torque Torque is a persistence layer. Torque consists of two main components: Generator - The Torque generator uses a single XML database schema file to generate the SQL for the target database and Torque's Peer-based object relational model. Runtime - The Torque runtime is required in order to compile and use the classes produced by the generator. Supported RDBMS RDBMS Driver MS Access sun.jdbc.odbc.JdbcOdbcDriver MS SQL com.microsoft.jdbc.sqlserver.SQLServerDriver MySQL org.gjt.mm.mysql.Driver Oracle oracle.jdbc.driver.OracleDriver Configuring Torque 3 configuration files Torque Generator properties – build.properties Torque database schema – torque-schema.xml Torque runtime properties – torque.properties 1. Build.properties Property Description Basic Properties torque.project The name of the project Torque will generate code for. torque.database The target database. Database Settings torque.database.createUrl The JDBC URL that Torque can use to create and drop databases if instructed to do so. torque.database.driver The JDBC database driver to use when connecting to your database. torque.database.user The administrative username that has sufficient privileges to create and drop databases and tables that Torque executes at build time. torque.database.password The administrative password for the supplied username. 2. Database Schema <database name="bookstore" defaultIdMethod="idbroker"> <table name="book" description="Book Table"> <column name="book_id" required="true" primaryKey="true" type="INTEGER" description="Book Id"/> <column name="author_id" required="true" type="INTEGER" description="Foreign Key Author"/> <foreign-key foreignTable="author"> <reference local="author_id" foreign="author_id"/> </foreign-key> </table> </database> 3. Torque.properties torque.database.default = bookstore torque.bookstore.connection.driver = oracle.jdbc.driver.OracleDriver torque.bookstore.connection.url= jdbc:oracle:thin:@oracle.cis.ksu.edu:1521:oracle torque.bookstore.connection.user = user torque.bookstore.connection.password = password log4j.rootCategory = DEBUG log4j.appender.default = org.apache.log4j.FileAppender log4j.appender.default.file = ./torque.log Invoking Torque Generating the object model Use Ant along with the build.xml file to generate the object model Creating the SQL databases and tables The command ant create-db can be used for this purpose Generating HTML docs The command ant doc can be used for this purpose Docs generated by Torque Torque Object Map Torque generates four classes for each table defined in the database schema. E.g. Book BaseBook.java : Torque-generated logic BaseBookPeer.java : Torque-generated logic Book.java BookPeer.java : Empty sub classes : Empty sub classes Adding Functionality to the Object Model The sub classes are used to extend the object model. E.g. : Add toString() functions to the model Torque Application Inserting rows Book effective = new Book(); effective.setTitle(“ Effective Java "); effective.save(); Selecting rows Criteria crit = new Criteria(); crit.add(BookPeer.title, "Effective Java"); List books = BookPeer.doSelect(crit); Deleting rows Criteria crit = new Criteria(); crit.add(BookPeer.title, "Effective Java"); BookPeer.doDelete(crit); Conclusion Learning curve No SQL statements Relational database access in object oriented way References http://db.apache.org/torque/index.html - User Guide Torque tutorial Downloads Miscellaneous Information http://www.developer.com/java/other/article.php/109 36_1457081_1 - Using the Torque Object Mapper