|
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www./dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!-- 1. cacheModelsEnabled 是否啟動(dòng)sqlMapClient上的緩存機(jī)制; 2. enhancementEnabled是否針對(duì)POJO啟用字節(jié)碼增強(qiáng)機(jī)制以提升getter/setter的調(diào)用效能, 避免使用Java Reflect所帶來的性能開銷,同時(shí)也為L(zhǎng)azy Loading帶來了極大的性能提升; 3. errorTracingEnabled 是否啟用錯(cuò)誤日志;在開發(fā)期間建議設(shè)為“true”以方便調(diào)試 4. lazyLoadingEnabled 是否啟動(dòng)延遲加載機(jī)制 5. maxRequests 最大并發(fā)請(qǐng)求數(shù)(Statement并發(fā)數(shù)) 5. maxTransactions 最大并發(fā)事務(wù) 6. maxSessions 最大Session數(shù),即當(dāng)前最大允許的并發(fā)sqlMapClient數(shù)(介于maxRequests和maxTransactions之間) 7. useStatementNamespaces 是否使用Statement命名空間(為true時(shí),需要追加命名空間) --> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> <!-- transactionManager 節(jié)點(diǎn)定義了ibatis的事務(wù)管理器 1. JDBC:通過傳統(tǒng)JDBC Connection.commit/rollback實(shí)現(xiàn)事務(wù)支持 2. JTA:使用容器提供的JTA服務(wù)實(shí)現(xiàn)全局事務(wù)管理 3. EXTERNAL:外部事務(wù)管理,如EJB中使用ibatis,通過EJB的部署配置即可實(shí)現(xiàn)自動(dòng)事務(wù)管理機(jī)制 此時(shí)ibatis將所有事務(wù)委托給外部容器管理 --> <transactionManager type="JDBC"> <!-- dataSource從屬于transactionManager節(jié)點(diǎn),用于設(shè)定ibatis運(yùn)行期使用的DataSource屬性 type屬性: dataSource節(jié)點(diǎn)的type屬性指定了dataSource的實(shí)現(xiàn)類型 1. SIMPLE: SIMPLE是ibatis內(nèi)置的dataSource實(shí)現(xiàn),其中實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的數(shù)據(jù)庫連接池機(jī)制, 對(duì)應(yīng)ibatis 實(shí)現(xiàn)類為 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。 2. DBCP: 基于Apache DBCP連接池組件實(shí)現(xiàn)的DataSource 封裝,當(dāng)無容器提供DataSource 服務(wù)時(shí), 建議使用該選項(xiàng),對(duì)應(yīng)ibatis 實(shí)現(xiàn)類為com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。 3. JNDI: 使用J2EE 容器提供的DataSource 實(shí)現(xiàn),DataSource 將通過指定的JNDI Name 從容器中獲取。 對(duì)應(yīng)ibatis 實(shí)現(xiàn)類為com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。 --> <dataSource type="SIMPLE"> <!-- JDBC驅(qū)動(dòng) --> <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" /> <!-- 數(shù)據(jù)庫URL --> <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.241.27:1521:orcl" /> <!-- 數(shù)據(jù)庫用戶名 --> <property name="JDBC.Username" value="aaa" /> <!-- 數(shù)據(jù)庫密碼 --> <property name="JDBC.Password" value="aaa" /> <property name="Pool.MaximumActiveConnections" value="10" /> <property name="Pool.MaximumIdleConnections" value="5" /> <property name="Pool.MaximumCheckoutTime" value="120000" /> <property name="Pool.TimeToWait" value="500" /> <property name="Pool.PingQuery" value="select 1 from ACCOUNT" /> <property name="Pool.PingEnabled" value="false" /> <property name="Pool.PingConnectionsOlderThan" value="1" /> <property name="Pool.PingConnectionsNotUsedFor" value="1" /> </dataSource> </transactionManager> <!-- 指定映射文件的位置,配置中可出現(xiàn)多個(gè)sqlMap節(jié)點(diǎn),以指定項(xiàng)目?jī)?nèi)所有映射文件 --> <sqlMap resource="com/ibatis/Ibatis.xml" /> </sqlMapConfig> |
|
|