关闭

ibatis SqlMapConfig.xml解释配置说明

1461人阅读 评论(1) 收藏 举报

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD Sql Map Config 2.0//EN" "
http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- 
 Settings 节点的说明
  cacheModelsEnabled 是否启用SqlMapClient上的缓存机制,建议启动设置为true.  
  enhancementEnabled 是否针对pojo启用字节码增强机制以提升getter/setter的调用性能,避免使用java.  
  Reflect所带来的性能开销,同时这也是Lazy Loading 带来了极大的性能提升,建议设置为true.  
  errorTracingEnabled 是否启用错误日志,在开发期间建议设置为true,方便调试.  
  lazyLoadingEnabled 是否启用延迟加载机制,建议设置为true.  
  maxRequests 最大并发请求数(Statement并发数).  
  maxTransactions 最大并发事务数.  
  maxSessions 最大Session数,即当前最大允许的并发SqlMapClient数,maxSessions必须设定在maxTransactions与maxRequests之间.  
  useStatementNamespaces 是否使用Statement命名空间。这里的命名空间指的是映射文件中,sqlMap节点的namespace属性,  
  如在上例中针对t_user表的映射文件sqlMap节点:  
  <sqlMap namespace="User">这里,指定了此sqlMap节点下定义的操作均从属于"User"命名空间。  
  在useStatementNamespaces="true"的情   况下,Statement调用需追加命名空间,
 transactionManager节点说明 
  transactionManager定义了ibatis的事物管理
  JDBC
  通过传统的JDBC Comment commit和 rollblack实现事物
  JTA
  使用容器提供的全局事务管理,external 外部事物管理如在ejb中实现ibatis 通过ejb部署就可以实现,动态事务管理机制ibatis将事物管理交给外部容器管理
 datasource节点说明
  datasource从属于transactionManager节点,用于ibatis运行时使用的datasource,其中type属性指定的是datasource的实现类型。
  simple。
  simple是ibatis内部自我实现的一个简单连接池,对应实现类是com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory
  DBCP
  DBCP是基于Apache DBCP连接池组建实现的datasource封装,当容器使用dataSource是建议使用该组建。对应实现类com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory
  JNDI
  使用j2ee容器实现的dataSource,DataSource 通过指定的JNDI name来获取 com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory 
  Pool.MaximumActiveConnections:数据库连接池可维持的最大容量
  Pool.MaximumIdleConnections:数据库连接池中允许的挂起(idle)连接数 
-->
 <properties resource="sqlMapconfig.properties" />
 <settings
  cacheModelsEnabled="true"
  enhancementEnabled="true"
  errorTracingEnabled="true"
 ></settings>
 <transactionManager type="JDBC" commitRequired="false">
  <dataSource type="SIMPLE" >
   <property value="${driver}" name="JDBC.Driver" />
   <property value="${url}" name="JDBC.ConnectionURL" />
   <property value="${userName}" name="JDBC.Username" />
   <property value="${password}" name="JDBC.Password" />
   <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>
 <sqlMap resource="student.xml"/>
</sqlMapConfig>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:72194次
    • 积分:1719
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:54篇
    • 译文:0篇
    • 评论:33条
    最新评论