日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Torque 3.0使用指南

發布時間:2024/1/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Torque 3.0使用指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1??????使用簡明流程

1.1?????從已經存在的數據庫生成schema XML文件

1.1.1?? 編輯build.properties

1.2??根據schema XML文件生成java object model模型源代碼

1.3??在項目中整合torque

1.3.1 編輯Torque.properties

1.3.2?? 在項目的初始化代碼中添加一下代碼:

1.4??增加新表

1.4.1?? 備份shx3-schema.xml

1.4.2?? ant –fbuild-torque.xml jdbc

1.4.3?? 將新的表的XML文本塊粘貼到備份的shx3-schema.xml

1.4.4?? 備份src/java/*

1.4.5?? ant –fbuild-torque.xml om

1.4.6?? 將新的表對應的java文件添加到項目中。

1.5??????刪除舊表

1.5.1?? 刪除表

1.5.2?? 刪除項目中該表相關聯的java源代碼

1.6 ? ? ?修改數據庫表結構

1.6.1.??注意如果修改的表對應的java文件有添加了自定義的方法,含有該方法的java文件需要事先備份。待增加新表操作完成后,再將這些java文件復制過來,覆蓋生成的文件。其實,torque在生成java文件時,不會覆蓋從base基類繼承來的類。所以,在保證安全的情況下,可以直接在修改的package上直接生成java代碼。???

1.6.2?? 先執行刪除舊表,然后執行增加新表

1.7??????包管理及缺省基類

2?????? torque結構說明

3?????? 編碼

3.1??????? 在生成的java源碼中添加自定義方法.

3.2??????? 初始化

3.3 ID生成器的使用

3.4?INSERT

3.5?SELECT

3.6 UPDATE.

3.7 DELETE

3.8 簡單查詢

3.9?? 復雜查詢

3.10 關聯查詢

3.11 DISTINCT

3.12 排序

3.13?GROUP BY AND DISTINCT

3.14 條件查詢

3.15 自定義查詢條件

3.16 在查詢中使用兩次同一字段

3.17 翻頁

3.18 事務處理

4、模板文件

4.1????Torque.properties


1??????使用簡明流程

1.1?????從已經存在的數據庫生成schema XML文件

1.1.1?? 編輯build.properties

?

torque.project?=?shx3
torque.database?=?oracle
torque.targetPackage?=?net.emedchina.om
torque.database.createUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
torque.database.buildUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk?torque.database.url?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
torque.database.driver?=?oracle.jdbc.OracleDriver
torque.database.user?=?shx3
torque.database.password?=?shx3
torque.database.host?=?172.25.3.201
#?下面一行至關重要
torque.database.schema?=?SHX3

1.1.1.1?? ant–f build-torque.xml jdbc

1.1.1.2?? 生成:schema/shx3-schema.xml,該文件用于生成模型源代碼。可進行調整,以符合項目需要。

1.1.1.3?? ant–f build-torque.xml sql

1.1.1.4?? 生成:src/sql/*,這些文件用于創建數據庫及ID_TABLE

1.2??根據schema XML文件生成java object model模型源代碼

1.1.1?? 調整shx3-schema.xml,一般情況下不需要調整。

1.1.2?? ant–f build-torque.xml om

1.1.3?? 生成:src/java/*,這些文件用于項目的所有數據庫訪問

?

1.3??在項目中整合torque

1.3.1 編輯Torque.properties

torque.applicationRoot?=?.
torque.database.default=shx3
torque.database.shx3.adapter=oracle

##?Using?torque's?old?pool
torque.dsfactory.shx3.factory=org.apache.torque.dsfactory.

TorqueDataSourceFactory
torque.dsfactory.shx3.pool.defaultMaxConnections=10
torque.dsfactory.shx3.pool.maxExpiryTime=3600
torque.dsfactory.shx3.pool.connectionWaitTimeout=10
torque.dsfactory.shx3.connection.driver?=?oracle.jdbc.OracleDriver
torque.dsfactory.shx3.connection.url?=?jdbc:oracle:thin:@172.25.3.201:

1521:devgbk
torque.dsfactory.shx3.connection.user?=?shx3
torque.dsfactory.shx3.connection.password?=?shx3

??????

1.3.2?? 在項目的初始化代碼中添加一下代碼:

?

try?{
????????????InputStream?in?=
????????????????getClass().getResourceAsStream("/Torque.properties");
????????????PropertiesConfiguration?c?=?new?PropertiesConfiguration();
????????????c.load(in);
????????????in.close();

????????????Torque.init(c);

?}catch?(Exception?e)?{
????????????e.printStackTrace();
? }

1.4??增加新表

1.4.1??備份shx3-schema.xml

1.4.2?? ant –f build-torque.xml jdbc

1.4.3??將新的表的XML文本塊粘貼到備份的shx3-schema.xml

1.4.4??備份src/java/*

1.4.5?? ant –f build-torque.xml om

1.4.6??將新的表對應的java文件添加到項目中。

?

1.5?????? 刪除舊表

1.5.1?? 刪除表

1.5.2?? 刪除項目中該表相關聯的java源代碼

?

1.6??????? 修改數據庫表結構

1.6.1??

注意如果修改的表對應的java文件有添加了自定義的方法,含有該方法的java文件需要事先備份。待增加新表操作完成后,再將這些java文件復制過來,覆蓋生成的文件。其實,torque在生成java文件時,不會覆蓋從base基類繼承來的類。所以,在保證安全的情況下,可以直接在修改的package上直接生成java代碼。

1.6.2?? 先執行刪除舊表,然后執行增加新表。

?

1.7?????? 包管理及缺省基類

根據系統的各個子系統,定義的表也分為多個子包。范例:

?


<?xml?version="1.0"?>
<!DOCTYPE?database?SYSTEM?"http://jakarta.apache.org/turbine/dtd/database.dtd">
<!--?Autogenerated?by?JDBCToXMLSchema!?-->
<database
????
name="shx3"
???????????defaultIdMethod
="none"
???????????package
="net.emedchina.om.plt"
???????????baseClass
="net.emedchina.base.DataObject"
???????????basePeer
="net.emedchina.base.Peer">????

????<table?name="TMP_TEST">
????????<column?name="ID"?primaryKey="true"?required="true"?size="24"?type="CHAR"/>
????????<column?name="NAME"?size="200"?type="VARCHAR"/>
????????<column?name="LASTUPDATE"?type="TIMESTAMP"/>
????????<column?name="COL1"?size="24"?type="CHAR"/>
????????<column?name="COL2"?size="24"?type="CHAR"/>
????</table>
..
</xml>


2?????? torque結構說明

2.1??????? Database Maps:存儲數據庫結構的內部對象。

2.2??????? Peer Classes:進行1-1表操作的對象。

2.3??????? Data Objects:映射為1張表的對象。

2.4??????? Criteria Objects:條件對象。定義查詢條件。

2.5???????ID Broker:產生表級唯一ID的對象。

2.6??????? Schema Definition:定義數據庫邏輯結構的文件。

2.7???????Selects:通過Peers進行操作。

2.8???????Inserts:可以通過Peers和DataObject進行操作。

2.9???????Deletes:通過Peers進行操作。

2.10??? Joins and linking objects:通過Criteria和Criteria.Criterion進行操作。

?


3?????? 編碼

3.1??????? 在生成的java源碼中添加自定義方法

自定義的方法可以添加到tableName.java和tableNamePeer.java中,不要修改任何baseTableName.java和baseTableNamePeer.java。

?

3.2??????? 初始化

?

InputStream?in?=
????????????getClass().getResourceAsStream("/Torque.properties");
????????PropertiesConfiguration?c?=?new?PropertiesConfiguration();
????????c.load(in);
????????in.close();
????Torque.init(c);

3.3 ID生成器的使用

1.1.1?? 確認表的ID有primary key屬性

1.1.2?? ant–f build-torque.xml jdbc

1.1.3?? 生成:從已經存在的數據庫生成schema XML文件

1.1.4?? ant–f build-torque.xml

1.1.5?? 生成:從schema XML文件生成SQL和Java代碼

1.1.6?? ant–f build-torque.xml id-table-init-sql

1.1.7?? 生成:src/sql/shx3-schema-idtable-init.sql

1.1.8?? 執行生成的 SQL 語句,整合java源代碼到項目中

1.1.9?? 編碼1:使用tableName.save() 時,新的ID自動獲得,并插入到新增的記錄中。

1.1.10??? 編碼2:手工得到下一個ID,得到ID后,ID自動增加

?? // 通過 ConnectionManager 得到一個 Connection con

??? long id = Torque.getDatabaseMap().getIDBroker().getIdAsLong( con,"表名" );

3.4?INSERT

Publisher?addison?=?new?Publisher();
????addison.setName("Addison?Wesley?Professional");
????addison.save();

????Author?bloch?=?new?Author();
????bloch.setFirstName("Joshua");
????bloch.setLastName("Bloch");
????bloch.save();

????Book?effective?=?new?Book();
????effective.setTitle("Effective?Java");
????effective.setISBN("0-618-12902-2");
????effective.setPublisher(addison);
????effective.setAuthor(bloch);
????effective.save();

????3.5?SELECT

?

Criteria?crit?=?new?Criteria();
????List?v?=?BookPeer.doSelect(crit);

????Criteria?crit?=?new?Criteria();
????crit.add(BookPeer.ISBN,?"0-618-12902-2");
????List?v?=?BookPeer.doSelect(crit);

?

??3.6UPDATE

Criteria?crit?=?new?Criteria();
????????crit.add(TmpTestPeer.ID,?"1010");
????????List?v?=TmpTestPeer.doSelect(crit);
????????if(?v.size()?==?1?)
????????{????
????????????TmpTest?tt?=?(TmpTest)v.get(0);
????????????System.out.println(?tt.getName()?);
????????????tt.setName("Value?from?update");
??????????? tt.save();
????????}

?

??3.7DELETE

Criteria?crit?=?new?Criteria();
????????crit.add(TmpTestPeer.ID,?"1010");
????????TmpTestPeer.doDelete(crit);
????????
????????crit?=?new?Criteria();
????????crit.add(TmpTestPeer.ID,?"1020");
????????List?v?=TmpTestPeer.doSelect(crit);
????????if(?v.size()?==?1?)
????????{????
????????????TmpTest?tt?=?(TmpTest)v.get(0);
????????????TmpTestPeer.doDelete(tt);
????????}

?

??3.8 簡單查詢

???Peers.doSelect();

??3.9??復雜查詢

//select?*?from?abc?where?(a?<?1?and?b?>?2)?or?(??a?>?5??and?b?<?3)

????????Criteria?crit?=?new?Criteria();
????????Criteria.Criterion?a1?=?crit.getNewCriterion(ABC.A,?1,?????????????????????????Criteria.LESS_THAN);
????????Criteria.Criterion?b2?=?crit.getNewCriterion(ABC.B,?2,?????????????????????????Criteria.GREATER_THAN);
????????Criteria.Criterion?a5?=?crit.getNewCriterion(ABC.A,?5,?????????????????????????Criteria.GREATER_THAN);
????????Criteria.Criterion?b3?=?crit.getNewCriterion(ABC.B,?3,?????????????????????????Criteria.LESS_THAN);

????????crit.add(a1.and(b2).or(a5.and(b3)));

?

?3.10 關聯查詢

//?select?tt.*?from?tmp_test?tt,plt_platform?pp
????????//?where?pp.id=tt.id????????
????????
????????Criteria?crit?=?new?Criteria();
????????crit.addJoin(TmpTestPeer.ID,?PltPlatformPeer.ID);
????????List?v?=TmpTestPeer.doSelect(crit);
????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
????????{
????????????TmpTest?tt?=?(TmpTest)i.next();
????????????System.out.println(?tt.getId()?+?":"?+?tt.getName()?);
????????}

?

? 3.11DISTINCT

Criteria?crit?=?new?Criteria();
????????crit.addJoin(TmpTestPeer.NAME,?PltPlatformPeer.NAME);
????????crit.setDistinct();
????????List?v?=TmpTestPeer.doSelect(crit);
????????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
????????????{
????????????TmpTest?tt?=?(TmpTest)i.next();
????????????System.out.println(?tt.getId()?+?":"?+?tt.getName()?);
????????}

?

??3.12 排序

Criteria?crit?=?new?Criteria();
????????crit.addDescendingOrderByColumn(?TmpTestPeer.LASTUPDATE?);
????????List?v?=TmpTestPeer.doSelect(crit);
???????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
????????????{
????????????TmpTest?tt?=?(TmpTest)i.next();
????????????System.out.println(?tt.getId()?+?":"?+?tt.getName()?);
????????}

?

?3.13?GROUP BY AND DISTINCT

Criteria?crit?=?new?Criteria();
????????crit.addSelectColumn(?TmpTestPeer.NAME?);
????????crit.addGroupByColumn(?TmpTestPeer.NAME?);
????????crit.setDistinct();
????????List?v?=TmpTestPeer.doPSSelect(crit);
????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
????????????{
????????????Object?tt?=?i.next();
????????????System.out.println(?tt.toString()?);????????????
????????}

?

? 3.14 條件查詢

Criteria?crit?=?new?Criteria();
????????crit.add(?TmpTestPeer.NAME,?(Object)"1000",?Criteria.LIKE?);
????????List?v?=TmpTestPeer.doSelect(crit);
???????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
???????????{
????????????TmpTest?tt?=?(TmpTest)i.next();
????????????System.out.println(?tt.getId()?+?":"?+?tt.getName()?);
????????}

?

??3.15自定義查詢條件

Criteria?crit?=?new?Criteria();
????????crit.add(?TmpTestPeer.NAME,?
????????????(Object)("UPPER("?+?TmpTestPeer.NAME?+?")='1000'"),?????????????????????Criteria.CUSTOM);
????????List?v?=TmpTestPeer.doSelect(crit);
???????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
???????????{
????????????TmpTest?tt?=?(TmpTest)i.next();
????????????System.out.println(?tt.getId()?+?":"?+?tt.getName()?);
????????}

?

?3.16 在查詢中使用兩次同一字段

Criteria?criteria?=?new?Criteria();
????????criteria.add(InvoicePeer.COST,?1000,?Criteria.GREATER_EQUAL);

????????Criteria.Criterion?criterion?=?
????????????criteria.getCriterion(InvoicePeer.COST);
????????criterion.and(
???????????????criteria.getNewCriterion(
?????????????????????????????criterion.getTable(),
?????????????????????????????criterion.getColumn(),
?????????????????????????????new?Integer(5000),
?????????????????????????????Criteria.LESS_EQUAL?)
????????????);

?

? 3.17 翻頁(torque 3.0對于 Oracle翻頁有BUG!所以,不能在項目中使用torque的反頁機制。如果需要翻頁,使用DAO

Criteria?crit?=?new?Criteria();
????????crit.add(?TmpTestPeer.NAME,?"Test?name"?);
????????????crit.setLimit(6);
????????????crit.setOffset(3);
????????????System.out.println(?crit?);
????????List?v?=TmpTestPeer.doSelect(crit);
???????????Iterator?i?=?v.iterator();
????????????while?(i.hasNext())
???????????{
????????????TmpTest?tt?=?(TmpTest)i.next();
????????????System.out.println(?tt.getId()?+?":"?+?tt.getName()?);
????????}

?

? 3.18 事務處理

Connection?con?=?Transaction.begin("shx3");
????????Criteria?crit?=?new?Criteria();
????????crit.add(TmpTestPeer.NAME,?(Object)"%",?Criteria.LIKE);
????????crit.setUseTransaction(true);

????????List?list?=?TmpTestPeer.doSelect(crit);
????????Transaction.commit(con);


4、模板文件(build.properties)

#?-------------------------------------------------------------------
#
#?T?O?R?Q?U?E??C?O?N?F?I?G?U?R?A?T?I?O?N??F?I?L?E
#
#?-------------------------------------------------------------------
#?This?file?contains?the?most?commonly?used?properties.?For?a
#?a?complete?list?of?build?properties,?please?refer?to:
#???http://jakarta.apache.org/turbine/torque/properties-reference.xml
#?-------------------------------------------------------------------


#?-------------------------------------------------------------------
#
#??P?R?O?J?E?C?T
#
#?-------------------------------------------------------------------
#?This?is?the?name?of?your?Torque?project.?Your?non-Java?generated?
#?files?will?be?named?using?the?project?name?selected?below.?If?your
#?project=killerapp?then?you?will?have?a?generated:
#
#???killerapp-schema.sql
#
#?The?custom?is?then?to?also?rename?your?project?XML?schema?from
#?project-schema.xml?to?killerapp-schema.xml.?This?is?required?
#?for?a?few?targets?such?as?datasql,?datadump,?and?datadtd.
#?-------------------------------------------------------------------

#?torque.project?=?bookstore
torque.project?=?shx3


#?-------------------------------------------------------------------
#
#??T?A?R?G?E?T??D?A?T?A?B?A?S?E
#
#?-------------------------------------------------------------------
#?This?is?the?target?database,?only?considered?when?generating
#?the?SQL?for?your?Turbine?project.?Your?possible?choices?are:
#
#???axion,?cloudscape,?db2,?db2400,?hypersonic,?interbase,?mssql,
#???mysql,?oracle,?postgresql,?sapdb,?sybase
#?-------------------------------------------------------------------

#?torque.database?=?postgresql
torque.database?=?oracle


#?-------------------------------------------------------------------
#
#??O?B?J?E?C?T??M?O?D?E?L??I?N?F?O?R?M?A?T?I?O?N
#
#?-------------------------------------------------------------------
#?These?settings?will?allow?you?to?customize?the?way?your
#?Peer-based?object?model?is?created.
#?-------------------------------------------------------------------
#?addGetByNameMethod
#???If?true,?Torque?adds?methods?to?get?database?fields?by?name/position.
#
#?addIntakeRetrievable
#???If?true,?the?data?objects?will?implement?Intake's?Retrievable?
#???interface
#
#?addSaveMethod
#???If?true,?Torque?adds?tracking?code?to?determine?how?to?save?objects.
#
#?addTimeStamp
#???If?true,?Torque?true?puts?time?stamps?in?generated?om?files.
#
#?basePrefix
#???A?string?to?pre-pend?to?the?file?names?of?base?data?and?peer?objects.
#
#?complexObjectModel
#???If?true,?Torque?generates?data?objects?with?collection?support?and?
#???methods?to?easily?retreive?foreign?key?relationships.
#
#?targetPackage
#???Sets?the?Java?package?the?om?files?will?generated?to,?e.g.?
#???"com.company.project.om".
#
#?useClasspath
#???If?true,?Torque?will?not?look?in?the?<code>templatePath</code>?directory,
#???for?templates,?but?instead?load?them?from?the?classpath,?allowing?you?to?
#???use?Torque?without?extracted?it?from?the?jar.
#
#?useManagers
#???If?true,?Torque?will?generate?Manager?classes?that?use?JCS?for?caching.
#???Still?considered?experimental.
#?-------------------------------------------------------------------

torque.targetPackage?=?net.emedchina.om

torque.addGetByNameMethod?=?true
torque.addIntakeRetrievable?=?false
torque.addSaveMethod?=?true
torque.addTimeStamp?=?true
torque.basePrefix?=?Base
torque.complexObjectModel?=?true
torque.useClasspath?=?false
torque.useManagers?=?false


#?-------------------------------------------------------------------
#
#??D?A?T?A?B?A?S?E??S?E?T?T?I?N?G?S
#
#?-------------------------------------------------------------------
#?JDBC?connection?settings.?This?is?used?by?the?JDBCToXML?task?that
#?will?create?an?XML?database?schema?from?JDBC?metadata.?These
#?settings?are?also?used?by?the?SQL?Ant?task?to?initialize?your
#?Turbine?system?with?the?generated?SQL.
#
#?sameJavaName
#???If?true,?the?JDBC?task?will?set?the?javaName?attribute?for?the?tables?
#???and?columns?to?be?the?same?as?SQL?name.
#?-------------------------------------------------------------------

#torque.database.createUrl?=?jdbc:postgresql://127.0.0.1:5432/template1
#torque.database.buildUrl?=?jdbc:postgresql://127.0.0.1:5432/bookstore
#torque.database.url?=?jdbc:postgresql://127.0.0.1:5432/bookstore
#torque.database.driver?=?org.postgresql.Driver
#torque.database.user?=?jvanzyl
#torque.database.password?=
#torque.database.host?=?127.0.0.1

torque.database.createUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
torque.database.buildUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
torque.database.url?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
torque.database.driver?=?oracle.jdbc.OracleDriver
torque.database.user?=?shx3
torque.database.password?=?shx3
torque.database.host?=?172.25.3.201

torque.sameJavaName?=?false

#?Oracle?specific?schema
torque.database.schema?=?SHX3
?


4.1????Torque.properties
#?-------------------------------------------------------------------
#?$Id:?Torque.master,v?1.5?2002/11/28?14:06:12?mpoeschl?Exp?$
#
#?This?is?the?configuration?file?for?Torque.
#
#?Note?that?strings?containing?","?(comma)?characters?must?backslash
#?escape?the?comma?(i.e.?'\,')
#
#?-------------------------------------------------------------------

torque.applicationRoot?=?.

#?-------------------------------------------------------------------
#
#??L?O?G?G?I?N?G
#
#?-------------------------------------------------------------------
#?We?use?Log4J?for?all?Torque?logging?and?we?embed?the?log4j
#?properties?within?our?application?configuration.
#?-------------------------------------------------------------------

#?This?first?category?is?required?and?the?category
#?must?be?named?'default'.?This?is?used?for?all?logging
#?where?an?explicit?category?is?not?specified.

#log4j.category.org.apache.torque?=?ALL,?org.apache.torque
#log4j.appender.org.apache.torque?=?org.apache.log4j.FileAppender
#log4j.appender.org.apache.torque.file?=?${torque.applicationRoot}/logs/torque.log
#log4j.appender.org.apache.torque.append?=?true

log4j.category.org.apache.torque?=?info,?org.apache.torque
log4j.appender.org.apache.torque?=?org.apache.log4j.ConsoleAppender
log4j.appender.org.apache.torque.layout?=?org.apache.log4j.PatternLayout
log4j.appender.org.apache.torque.layout.conversionPattern?=?%d?[%t]?%-5p?%c?-?%m%n

#?-------------------------------------------------------------------
#
#??T?O?R?Q?U?E??P?R?O?P?E?R?T?I?E?S
#
#?-------------------------------------------------------------------
#?These?are?your?database?settings.?Look?in?the
#?org.apache.torque.pool.*?packages?for?more?information.
#
#?The?parameters?to?connect?to?the?default?database.??You?MUST
#?configure?these?properly.
#?-------------------------------------------------------------------

torque.database.default=shx3
torque.database.shx3.adapter=oracle

##?Using?torque's?old?pool
torque.dsfactory.shx3.factory=org.apache.torque.dsfactory.TorqueDataSourceFactory
torque.dsfactory.shx3.pool.defaultMaxConnections=10
torque.dsfactory.shx3.pool.maxExpiryTime=3600
torque.dsfactory.shx3.pool.connectionWaitTimeout=10
torque.dsfactory.shx3.connection.driver?=?oracle.jdbc.OracleDriver
torque.dsfactory.shx3.connection.url?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
torque.dsfactory.shx3.connection.user?=?shx3
torque.dsfactory.shx3.connection.password?=?shx3

##?Using?Jdbc2Pool
#torque.dsfactory.shx3.factory=\
#??org.apache.torque.dsfactory.Jdbc2PoolDataSourceFactory
#torque.dsfactory.shx3.pool.defaultMaxActive=10
#torque.dsfactory.shx3.pool.testOnBorrow=true
#torque.dsfactory.shx3.pool.validationQuery=SELECT?1
#torque.dsfactory.shx3.connection.driver?=?oracle.jdbc.OracleDriver
#torque.dsfactory.shx3.connection.url?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
#torque.dsfactory.shx3.connection.user?=?shx3
#torque.dsfactory.shx3.connection.password?=?shx3


##?Using?jndi
#torque.dsfactory.shx3.factory=org.apache.torque.dsfactory.JndiDataSourceFactory
#torque.dsfactory.shx3.jndi.path=jdbc/shx3
#torque.dsfactory.shx3.jndi.java.naming.factory.initial?=?org.apache.naming.java.javaURLContextFactory
#torque.dsfactory.shx3.jndi.java.naming.factory.url.pkgs?=?org.apache.naming

#torque.dsfactory.shx3.datasource.classname=org.apache.torque.pool.TorqueClassicDataSource
#torque.dsfactory.shx3.datasource.dataSourceName=jdbc/DBshx3
#torque.dsfactory.shx3.datasource.jndiEnvironment.java.naming.factory.initial?=?org.apache.naming.java.javaURLContextFactory
#torque.dsfactory.shx3.datasource.jndiEnvironment.java.naming.factory.url.pkgs?=?org.apache.naming
#torque.dsfactory.shx3.datasource.defaultMaxConnections=10

##?ConnectionPoolDataSource
#torque.dsfactory.shx3.factory=org.apache.torque.dsfactory.JndiDataSourceFactory
#torque.dsfactory.shx3.jndi.path=jdbc/DBshx3
#torque.dsfactory.shx3.jndi.java.naming.factory.initial?=?org.apache.naming.java.javaURLContextFactory
#torque.dsfactory.shx3.jndi.java.naming.factory.url.pkgs?=?org.apache.naming
#torque.dsfactory.shx3.datasource.classname=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
#torque.dsfactory.shx3.datasource.driver?=?oracle.jdbc.OracleDriver
#torque.dsfactory.shx3.datasource.url?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
#torque.dsfactory.shx3.datasource.user?=?shx3
#torque.dsfactory.shx3.datasource.password?=?shx3

#?Determines?if?the?quantity?column?of?the?IDBroker's?id_table?should
#?be?increased?automatically?if?requests?for?ids?reaches?a?high
#?volume.

torque.idbroker.cleverquantity=true

#?Determines?whether?the?managers?cache?instances?of?the?business?objects.
#?And?also?whether?the?MethodResultCache?will?really?cache?results.

torque.manager.useCache?=?true

4.2????default.properties
#?-------------------------------------------------------------------
#
#??D?E?F?A?U?L?T???P?R?O?P?E?R?T?I?E?S
#
#?-------------------------------------------------------------------
#?This?file?maps?old?properties?(and?their?default?values)?to?the
#?new?properties?to?maintain?backwards?compatibility.
#
#?Note:?lib.dir/torque.lib.dir?and?build.properties/
#?torque.contextProperties?are?set?manually?in?the?build-torque.xml
#?file?as?they?need?to?be?defined?before?this?file?can?be?loaded?from
#?the?classpath.
#
#?Old?properties?that?are?commented?out?are?just?place?holders?to
#?help?organize?things.
#?-------------------------------------------------------------------


#?-------------------------------------------------------------------
#
#??B?A?S?I?C???P?R?O?P?E?R?T?I?E?S
#
#?-------------------------------------------------------------------

torque.home?=?.

#?project?=?bookstore
#?database?=?postgresql
#?targetPackage?=?org.apache.torque

project?=?shx3
database?=?oracle
targetPackage?=?net.emedchina.om


torque.project?=?${project}
torque.database?=?${database}
torque.targetPackage?=?${targetPackage}
torque.runOnlyOnSchemaChange?=?false

#?-------------------------------------------------------------------
#
#??D?I?R?E?C?T?O?R?I?E?S
#
#?-------------------------------------------------------------------

outputDirectory?=?src
schemaDirectory?=?schema
templatePath?=?templates
useClasspath?=?false

torque.output.dir?=?${torque.home}/${outputDirectory}
torque.schema.dir?=?${torque.home}/${schemaDirectory}
torque.templatePath?=?${templatePath}
torque.useClasspath?=?${useClasspath}

torque.doc.dir?=?${torque.output.dir}/doc
torque.java.dir?=?${torque.output.dir}/java
torque.javadoc.dir?=?${torque.output.dir}/javadoc
torque.ojb.dir?=?${torque.output.dir}/ojb
torque.sql.dir?=?${torque.output.dir}/sql
torque.omzip.dir?=?${torque.output.dir}


#?-------------------------------------------------------------------
#
#??D?A?T?A?B?A?S?E???S?E?T?T?I?N?G?S
#
#?-------------------------------------------------------------------

#?createDatabaseUrl?=?jdbc:postgresql://127.0.0.1:5432/template1
#?buildDatabaseUrl?=?jdbc:postgresql://127.0.0.1:5432/bookstore
#?databaseUrl?=?jdbc:postgresql://127.0.0.1:5432/bookstore
#?databaseDriver?=?org.postgresql.Driver
#?databaseUser?=?jvanzyl
#?databasePassword?=
#?databaseHost?=?127.0.0.1

#?databaseSchema?=
#?databaseName?=
database.manual.creation?=?false
sameJavaName?=?false

torque.database.createUrl?=?${createDatabaseUrl}
torque.database.buildUrl?=?${buildDatabaseUrl}
torque.database.url?=?${databaseUrl}
torque.database.driver?=?${databaseDriver}
torque.database.user?=?${databaseUser}
torque.database.password?=?${databasePassword}
torque.database.host?=?${databaseHost}

torque.database.schema?=?${databaseSchema}
torque.database.name?=?${databaseName}
torque.database.manualCreation?=?${database.manual.creation}
torque.saveJavaName?=?${sameJavaName}


#?-------------------------------------------------------------------
#
#??T?E?M?P?L?A?T?E???V?A?R?I?A?B?L?E?S
#
#?-------------------------------------------------------------------

addGetByNameMethod?=?true
addIntakeRetrievable?=?false
addSaveMethod?=?true
addTimeStamp?=?true
basePrefix?=?Base
complexObjectModel?=?true
useManagers?=?false
useClasspath?=?false

torque.addGetByNameMethod?=?${addGetByNameMethod}
torque.addIntakeRetrievable?=?${addIntakeRetrievable}
torque.retrievableInterface?=?org.apache.turbine.om.Retrievable
torque.addSaveMethod?=?${addSaveMethod}
torque.addTimeStamp?=?${addTimeStamp}
torque.basePrefix?=?${basePrefix}
torque.complexObjectModel?=?${complexObjectModel}
torque.saveException?=?Exception
torque.useClasspath?=?${useClasspath}
torque.useManagers?=?${useManagers}

torque.omzip.src.base?=?false
torque.omzip.src.extension?=?false
torque.omzip.bin.base?=?false
torque.omzip.bin.extension?=?false
torque.omzip.deleteFiles?=?false

torque.generateDeprecated?=?true

#?-------------------------------------------------------------------
#
#??M?I?S?C?.???S?E?T?T?I?N?G?S
#
#?-------------------------------------------------------------------

idTableXMLFile?=
documentationFormat?=?html
initialID?=?101

torque.idTableXMLFile?=?${idTableXMLFile}
torque.doc.format?=?${documentationFormat}
torque.doc.html.normalFont?=?font-family:?Verdana;?font-size:?10pt;
torque.doc.html.fkColor?=?afe295
torque.initialID?=?${initialID}


#?-------------------------------------------------------------------
#
#??C?O?N?T?R?O?L???T?E?M?P?L?A?T?E?S
#
#?-------------------------------------------------------------------

SQLControlTemplate?=?sql/base/Control.vm
OMControlTemplate?=?om/Control.vm
idTableControlTemplate?=?sql/id-table/Control.vm
DataDTDControlTemplate?=?data/Control.vm
DataDumpControlTemplate?=?data/dump/Control.vm
DataSQLControlTemplate?=?sql/load/Control.vm
DocControlTemplate?=?doc/Control.vm

torque.template.sql?=?${SQLControlTemplate}
torque.template.om?=?${OMControlTemplate}
torque.template.idTable?=?${idTableControlTemplate}
torque.template.dataDtd?=?${DataDTDControlTemplate}
torque.template.dataDump?=?${DataDumpControlTemplate}
torque.template.dataSql?=?${DataSQLControlTemplate}
torque.template.doc?=?${DocControlTemplate}
torque.template.sqlDbInit?=?sql/db-init/Control.vm
torque.template.ojb?=?ojb/repository/Control.vm
torque.template.ojbModel?=?ojb/model/Control.vm


#?-------------------------------------------------------------------
#
#??C?O?M?P?I?L?E???S?E?T?T?I?N?G?S
#
#?-------------------------------------------------------------------

src.dir?=?${torque.java.dir}
build.dest?=?bin/classes
debug?=?on
deprecation?=?off
optimize?=?off

torque.compile.src.dir?=?${src.dir}
torque.compile.build.dir?=?${build.dest}
torque.compile.debug?=?${debug}
torque.compile.deprecation?=?${deprecation}
torque.compile.optimize?=?${optimize}


#?-------------------------------------------------------------------
#
#??I?N?C?L?U?D?E???A?N?D???E?X?C?L?U?D?E???S?E?T?T?I?N?G?S
#
#?-------------------------------------------------------------------

torque.schema.sql.includes?=?*-schema.xml
torque.schema.sql.excludes?=
torque.schema.doc.includes?=?*-schema.xml
torque.schema.doc.excludes?=
torque.schema.create-db.includes?=?*-schema.xml
torque.schema.create-db.excludes?=
torque.schema.init-sql.includes?=?*-schema.xml
torque.schema.init-sql.excludes?=?id-table-schema.xml
torque.schema.om.includes?=?*-schema.xml
torque.schema.om.excludes?=?id-table-schema.xml
torque.schema.ojb.includes?=?*-schema.xml
torque.schema.ojb.excludes?=

databaseSchema?=?${project}-schema.xml
databaseName?=?${project}

createDatabaseUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
buildDatabaseUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
databaseUrl?=?jdbc:oracle:thin:@172.25.3.201:1521:devgbk
databaseDriver?=?oracle.jdbc.OracleDriver
databaseUser?=?shx3
databasePassword?=?shx3
databaseHost?=?172.25.3.201

?
4.3????shx3-schema.xml
<?xml?version="1.0"?>
<!DOCTYPE?database?SYSTEM?"http://jakarta.apache.org/turbine/dtd/database.dtd">
<!--?Autogenerated?by?JDBCToXMLSchema!?-->
<database
????
name="shx3"
???????????defaultIdMethod
="none"
???????????package
="net.emedchina.om.plt"
???????????baseClass
="net.emedchina.base.DataObject"
???????????basePeer
="net.emedchina.base.Peer">????

????<table?name="TMP_TEST">
????????<column?name="ID"?primaryKey="true"?required="true"?size="24"?type="CHAR"/>
????????<column?name="NAME"?size="200"?type="VARCHAR"/>
????????<column?name="LASTUPDATE"?type="TIMESTAMP"/>
????????<column?name="COL1"?size="24"?type="CHAR"/>
????????<column?name="COL2"?size="24"?type="CHAR"/>
????</table>
????<table?name="TMP_CAT_REGION">
????????<column?name="ID"?primaryKey="true"?required="true"?size="24"?type="CHAR"/>
????</table>
????<table?name="PLT_BIZ_REGION">
????????<column?name="ID"?primaryKey="true"?required="true"?size="24"?type="CHAR"/>
????????<column?name="CODE"?size="24"?type="CHAR"/>
????????<column?name="FULL_NAME"?size="100"?type="VARCHAR"/>
????????<column?name="ABBR_NAME"?size="50"?type="VARCHAR"/>
????????<column?name="OWNER_PLAT"?size="24"?type="CHAR"/>
????</table>
????<table?name="PLT_BIZ_REGION_ELEMENT">
????????<column?name="ID"?primaryKey="true"?required="true"?size="24"?type="CHAR"/>
????????<column?name="BIZ_REGION_CODE"?size="24"?type="CHAR"/>
????????<column?name="POLITICAL_REGION_CODE"?size="24"?type="CHAR"/>
????????<column?name="POLITICAL_LEVEL"?size="1"?type="CHAR"/>
????????<column?name="RELATION_MODE"?size="1"?type="CHAR"/>
????????<foreign-key?foreignTable="PLT_BIZ_REGION">
????????????<reference?foreign="ID"?local="BIZ_REGION_CODE"/>
????????</foreign-key>
????????<foreign-key?foreignTable="TMP_CAT_REGION">
????????????<reference?foreign="ID"?local="POLITICAL_REGION_CODE"/>
????????</foreign-key>
????</table>
????<table?name="PLT_PLATFORM">
????????<column?name="ID"?primaryKey="true"?required="true"?size="24"?type="CHAR"/>
????????<column?name="P_PLAT_ID"?size="24"?type="CHAR"/>
????????<column?name="NAME"?size="50"?type="VARCHAR"/>
????????<column?name="PLAT_TYPE"?size="1"?type="CHAR"/>
????????<column?name="PLAT_STATUS"?size="1"?type="CHAR"/>
????????<foreign-key?foreignTable="PLT_PLATFORM">
????????????<reference?foreign="ID"?local="P_PLAT_ID"/>
????????</foreign-key>
????</table>
</database>

總結

以上是生活随笔為你收集整理的Torque 3.0使用指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。