<?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 是否啟動sqlMapClient上的緩存機制; 2. enhancementEnabled是否針對POJO啟用字節(jié)碼增強機制以提升getter/setter的調(diào)用效能, 避免使用Java Reflect所帶來的性能開銷,同時也為Lazy Loading帶來了極大的性能提升; 3. errorTracingEnabled 是否啟用錯誤日志;在開發(fā)期間建議設為“true”以方便調(diào)試 4. lazyLoadingEnabled 是否啟動延遲加載機制 5. maxRequests 最大并發(fā)請求數(shù)(Statement并發(fā)數(shù)) 5. maxTransactions 最大并發(fā)事務 6. maxSessions 最大Session數(shù),即當前最大允許的并發(fā)sqlMapClient數(shù)(介于maxRequests和maxTransactions之間) 7. useStatementNamespaces 是否使用Statement命名空間(為true時,需要追加命名空間) --> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> <!-- transactionManager 節(jié)點定義了ibatis的事務管理器 1. JDBC:通過傳統(tǒng)JDBC Connection.commit/rollback實現(xiàn)事務支持 2. JTA:使用容器提供的JTA服務實現(xiàn)全局事務管理 3. EXTERNAL:外部事務管理,如EJB中使用ibatis,通過EJB的部署配置即可實現(xiàn)自動事務管理機制 此時ibatis將所有事務委托給外部容器管理 --> <transactionManager type="JDBC"> <!-- dataSource從屬于transactionManager節(jié)點,用于設定ibatis運行期使用的DataSource屬性 type屬性: dataSource節(jié)點的type屬性指定了dataSource的實現(xiàn)類型 1. SIMPLE: SIMPLE是ibatis內(nèi)置的dataSource實現(xiàn),其中實現(xiàn)了一個簡單的數(shù)據(jù)庫連接池機制, 對應ibatis 實現(xiàn)類為 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。 2. DBCP: 基于Apache DBCP連接池組件實現(xiàn)的DataSource 封裝,當無容器提供DataSource 服務時, 建議使用該選項,對應ibatis 實現(xiàn)類為com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。 3. JNDI: 使用J2EE 容器提供的DataSource 實現(xiàn),DataSource 將通過指定的JNDI Name 從容器中獲取。 對應ibatis 實現(xiàn)類為com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。 --> <dataSource type="SIMPLE"> <!-- JDBC驅(qū)動 --> <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)多個sqlMap節(jié)點,以指定項目內(nèi)所有映射文件 --> <sqlMap resource="com/ibatis/Ibatis.xml" /> </sqlMapConfig> |
|