您的位置:首页 > 数据库

ibatis SqlMapConfig.xml解释配置说明

2011-01-17 22:54 471 查看
<?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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: