ibatis的sqlMapConfig.xml配置大全

来源:互联网 发布:快压 mac版本 编辑:程序博客网 时间:2024/05/17 03:51

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
<!--
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之间,即maxTransactions<maxSessions=<maxRequests
useStatementNamespaces 是否使用Statement命名空间。这里的命名空间指的是映射文件中,sqlMap节点的namespace属性,
如在上例中针对t_user表的映射文件sqlMap节点:<sqlMap namespace="User">
这里,指定了此sqlMap节点下定义的操作均从属于"User"命名空间。在useStatementNamespaces="true"的情况下,
Statement调用需追加命名空间,如:sqlMap.update("User.updateUser",user);
否则直接通过Statement名称调用即可,如:sqlMap.update("updateUser",user);
但请注意此时需要保证所有映射文件中,Statement定义无重名。
-->

<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="50"
maxSessions="20" maxTransactions="10" useStatementNamespaces="true" />

<!--
transactionManager 节点定义了ibatis 的事务管理器,目前提供了以下几
种选择:
? JDBC
通过传统JDBC Connection.commit/rollback实现事务支持。
? JTA
使用容器提供的JTA服务实现全局事务管理。
? EXTERNAL
外部事务管理,如在EJB中使用ibatis,通过EJB的部署配置即可实现自
动的事务管理机制。此时ibatis 将把所有事务委托给外部容器进行管理。
此外,通过Spring 等轻量级容器实现事务的配置化管理也是一个不错的选
择。关于结合容器实现事务管理,参见“高级特性”中的描述。
-->
<!--
JDBC.Driver JDBC 驱动。
如:org.gjt.mm.mysql.Driver
JDBC.ConnectionURL 数据库URL。
如:jdbc:mysql://localhost/sample
如果用的是SQLServer JDBC Driver,需要
在url后追加SelectMethod=Cursor以获得
JDBC事务的多Statement支持。
JDBC.Username 数据库用户名
JDBC.Password 数据库用户密码
Pool.MaximumActiveConnections 数据库连接池可维持的最大容量。
Pool.MaximumIdleConnections 数据库连接池中允许的挂起(idle)连接数。
-->
<!--
Pool.MaximumCheckoutTime 数据库联接池中,连接被某个任务所允许占用的最大时间,
如果超过这个时间限定,连接将被强制收回。(毫秒)
Pool.TimeToWait 当线程试图从连接池中获取连接时,连接池中无可用连接可供使用,此时线程将进入等待状态,
直到池中出现空闲连接。此参数设定了线程所允许等待的最长时间。(毫秒)
Pool.PingQuery 数据库连接状态检测语句。某些数据库在连接在某段时间持续处于空闲状态时会将其断开。
而连接池管理器将通过此语句检测池中连接是否可用。
检测语句应该是一个最简化的无逻辑SQL。如“select 1 from t_user”,如果执行此语句成功,
连接池管理器将认为此连接处于可用状态。
Pool.PingEnabled 是否允许检测连接状态。
Pool.PingConnectionsOlderThan对持续连接时间超过设定值(毫秒)的连接进行检测。
Pool.PingConnectionsNotUsedFor
对空闲超过设定值(毫秒)的连接进行检测。
DBCP:
参数 描述
Pool.MaximumWait 当线程试图从连接池中获取连接时,连接池中无可用连接可供使用,此时线程将进入等待状态,
直到池中出现空闲连接。此参数设定了线程所允许等待的最长时间。(毫秒)
Pool.ValidationQuery 数据库连接状态检测语句。
某些数据库在连接在某段时间持续处于空闲状态时会将其断开。而连接池管理器将通过此语句检测池中连接是否可用。
检测语句应该是一个最简化的无逻辑SQL。
如“select 1 from t_user”,如果执行此语句成功,连接池管理器将认为此连接处于可用状态。
Pool.LogAbandoned 当数据库连接被废弃时,是否打印日志。
Pool.RemoveAbandonedTimeout 数据库连接被废弃的最大超时时间
Pool.RemoveAbandoned 当连接空闲时间超过RemoveAbandonedTimeout时,是否将其废弃。
-->
<!-- Configure a built-in transaction manager. If you're using an
app server, you probably want to use its transaction manager
and a managed datasource -->
<!-- transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://localhost/test?useUnicode=true&amp;characterEncoding=UTF-8" />
<property name="JDBC.Username" value="root" />
<property name="JDBC.Password" value="root" />
</dataSource>
</transactionManager-->
<!--
JNDI由于大部分配置是在应用服务器中进行,因此ibatis中的配置相对简单,下面是分别使用JDBC和JTA事务管理的JDNI配置:
使用JDBC事务管理的JNDI DataSource配置
<transactionManager type="JDBC" >
<dataSource type="JNDI">
<property name="DataSource" value="java:comp/env/jdbc/myDataSource"/>
</dataSource>
</transactionManager>

<transactionManager type="JTA" >
<dataSource type="JNDI">
<property name="UserTransaction" value="java:/ctx/con/UserTransaction"/>
<property name="DataSource" value="java:comp/env/jdbc/myDataSource"/>
</dataSource>
</transactionManager>
-->
<!--
List the SQL Map XML files. They can be loaded from the
classpath
把 SQL Map xml文件列在下面,这些文件能够从classpath中加载进来。

-->

<sqlMap resource="../conf/dao/lminfo_SqlMap.xml"/>
<sqlMap resource="../conf/dao/tyinfo_SqlMap.xml"/>

</sqlMapConfig>

原创粉丝点击