iBATIS sqlMapConfig配置详解
<?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>
<!--
<properties resource="properties/database.properties"/>
可将SqlMap中的<property />内容写到配置文件中,从此处引用。
SQL Map配置文件及其每个映射文件都可以使用占位符${}
-->
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
<!--
<settings
cacheModelsEnabled="true"
是否启用SqlMapClient上的缓存机制。
建议设为"true"
enhancementEnabled="true"
是否针对POJO启用字节码增强机制以提升
getter/setter的调用效能,避免使用Java
Reflect所带来的性能开销。
同时,这也为Lazy Loading带来了极大的性能
提升。
建议设为"true"
lazyLoadingEnabled="true"
是否启用延迟加载机制,建议设为"true"
errorTracingEnabled="true"
是否启用错误日志,在开发期间建议设为"true"
以方便调试
maxRequests="32"
最大并发请求数(Statement并发数)
maxSessions="10"
最大Session数。即当前最大允许的并发
SqlMapClient 数。
maxSessions设定必须介于
maxTransactions和maxRequests之间,即
maxTransactions<maxSessions=<maxRequests
maxTransactions="5"
最大并发事务数
useStatementNamespaces="false"
是否使用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定义无重名。
/>
--> <transactionManager type="JDBC" commitRequired="false"> <!--
<transationManager>元素让您为SQL Map配置事务管理服务。
属性type指定所使用的事务管理器类型。
这个属性值可以是一个类名,也可以是一个别名。
包含在框架的三个事务管理器分别是:JDBC,JTA和EXTERNAL。 JDBC:通过常用的Connection commit()和rollback()方法,让JDBC管理事务。 JTA:本事务管理器使用一个JTA全局事务,使SQL Map的事务包括在更大的事务范围内,
这个更大的事务范围可能包括了其他的数据库和事务资源。
这个配置需要一个UserTransaction属性,以便从JNDI获得一个UserTransaction。 EXTERNAL:这个配置可以让您自己管理事务。您仍然可以配置一个数据源,
但事务不再作为框架生命周期的一部分被提交或回退。
这意味着SQL Map外部应用的一部分必须自己管理事务。
这个配置也可以用于没有事务管理的数据库(例如只读数据库)。
--> <dataSource type="DBCP">
<!--
<datasource>是<transactionManager>的一部分,
为SQL Map数据源设置了一系列参数。
目前SQL Map架构只提供三个DataSource Factory,但您也可以添加自己的实现。 SIMPLE: SimpleDataSourceFactory为DataSource提供了一个基本的实现,
适用于在没有J2EE容器提供DataSource的情况。
它基于iBatis的SimpleDataSource连接池实现。 DBCP: DbcpDataSourceFactory实现使用Jakarta DBCP
(Database Connection Pool)的DataSource API提供连接池服务。
适用于应用/Web容器不提供DataSource服务的情况,或执行一个单独的应用。 JNDI: JndiDataSourceFactory在应用容器内部从JNDI Context中
查找DataSource实现。当使用应用服务器,并且服务器提供了容器管理的连
接池和相关DataSource实现的情况下,可以使用JndiDataSourceFactory。
使用JDBC DataSource的标准方法是通过JNDI来查找。
--> <property name="JDBC.Driver"
value="net.sourceforge.jtds.jdbc.Driver"/>
<property name="JDBC.ConnectionURL"
value="jdbc:jtds:sqlserver://127.0.0.1:1433/EXTFFM"/>
<property name="JDBC.Username" value="sa"/>
<property name="JDBC.Password" value="sa"/>
<!--
SQL Map配置文件拥有唯一的<properties>元素,
用于在配置文件中使用标准的Java属性文件(name=value)。
这样做后,在属性文件中定义的属性可以作为变量在SQL Map配置文件
及其包含的所有SQL Map映射文件中引用。 例如,如果属性文件中包含属性:
driver=org.hsqldb.jdbcDriver
SQL Map配置文件及其每个映射文件都可以使用占位符${driver}
来代表值org.hsqldb.jdbcDriver。例如:
<property name="JDBC.Driver" value="${driver}"/>
--> <property name="Pool.MaximumActiveConnections" value="10"/>
<!-- 数据库连接池可维持的最大容量。缺省值: 10 --> <property name="Pool.MaximumIdleConnections" value="5"/>
<!-- 数据库连接池中允许的挂起(idle)连接数。缺省值: 5 --> <property name="Pool.TimeToWait" value="500" />
<!--
当线程试图从连接池中获取连接时,连接池中无可用连接可供使用,
此时线程将进入等待状态,直到池中出现空闲连接。
此参数设定了线程所允许等待的最长时间(单位:毫秒)缺省值: 10
-->
<property name="Pool.MaximumCheckoutTime" value="120000"/> <!--
数据库联接池中,连接被某个任务所允许占用的最大时间,
如果超过这个时间限定,连接将被强制收回(单位:毫秒)。
缺省值: 20000
--> <property name="Pool.PingQuery" value="seslct 1 from FFM_Sequence" />
<!--
数据库连接状态检测语句。
某些数据库在连接在某段时间持续处于空闲状态时会将其断开。
而连接池管理器将通过此语句检测池中连接是否可用。
它对性能的影响较大,应小心使用。检测语句应该是一个最简化的无逻辑SQL,
如:select 1 from dual缺省值: N/A
--> <property name="Pool.PingEnabled" value="false" />
<!-- 是否允许检测连接状态。缺省值: false --> <property name="Pool.PingConnectionsOlderThan" value="1" />
<!-- 对持续连接时间超过设定值(毫秒)的连接进行检测。缺省值: 0 --> <property name="Pool.PingConnectionsNotUsedFor" value="1" />
<!-- 对空闲超过设定值(毫秒)的连接进行检测。缺省值: 0 -->
</dataSource>
</transactionManager>
<sqlMap resource="com/witnessj/ffm/domain/IBatisSqlMap/SequenceSqlMap.xml"/>
<!--
<sqlMap>元素用于包括SQL Map映射文件和其他的SQL Map配置文件。
每个SqlMapClient对象使用的所有SQL Map映射文件都要在此声明。
映射文件作为stream resource从类路径或URL读入。
您必须在这里指定所有的SQL Map文件。 List more here...
<sqlMap resource="com/mydomain/data/Order.xml"/>
<sqlMap resource="com/mydomain/data/Documents.xml"/>
-->
</sqlMapConfig>
iBATIS sqlMapConfig配置详解的更多相关文章
- logback使用配置详解
title: logback使用配置详解 date: 2017-04-25 16:42:49 tags: 日志 --- 1.介绍 Logback是由log4j创始人设计的另一个开源日志组件,它当前分为 ...
- Log4J日志整合及配置详解
Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松 ...
- 转载 Spring、Spring MVC、MyBatis整合文件配置详解
Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...
- logback配置详解和使用
最近知道一种打印日志的新方法,在此做一下学习总结. 转自:行走在云端的愚公 https://www.cnblogs.com/warking/p/5710303.html 一.logback的介绍 ...
- 一、Mybatis配置详解
Mybatis配置详解 XML配置文件层次结构 下图展示了mybatis-config.xml的全部配置元素 properties元素 properties是一个配置属性的元素,让我们能在配置文件的上 ...
- logback和log4j比较,前者是后者改良,logback配置详解(转)
一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两 ...
- (转)logback配置详解
找到一篇很详细的关于logback配置的介绍: 贴上原文链接:logback使用配置详解 1.介绍 Logback是由log4j创始人设计的另一个开源日志组件,它当前分为下面下个模块: logback ...
- Log4j配置详解(转)
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- logback 常用配置详解<appender>
logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...
随机推荐
- [转]用NPOI操作EXCEL--数据有效性
本文转自:http://www.cnblogs.com/atao/archive/2009/09/22/1572170.html 在有些情况下(比如Excel引入),我们可能不允许用户在Excel随意 ...
- hdu1047 Integer Inquiry
/* Integer Inquiry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 【温故而知新-Javascript】使用 DOM 元素
1. 使用元素对象 HTMLElement对象提供了一组属性,可以用它们来读取和修改被代表的数据.下表介绍了这些属性. 下面代码展示了如何使用表中所列的一些基本属性. <!DOCTYPE htm ...
- 怎样用ZBrush中复数对象进行工作
在ZBrush®中有两种方法可以使用复数对象即“多边形组”和“次工具”. 若有疑问可直接访问:http://www.zbrushcn.com/jichu/fushu-duixiang.html 什么是 ...
- IIS关于“ 配置错误 不能在此路径中使用此配置节”的解决办法
IIS关于“ 配置错误 不能在此路径中使用此配置节”的解决办法 原文链接:http://www.cnblogs.com/200325074/p/3679316.html 今天刚安装好IIS8.5, 我 ...
- Django中的syncdb命令
从官方文档的意思来看,现在他已经成为migrate命令的同义词了,和migrate命令有相同的作用. Deprecated since version 1.7: This command has be ...
- Unity3D手势及重力加速度(神庙逃亡操作)
Unity实现神庙逃亡操作 现在特别火的跑酷游戏<神庙逃亡>是用Unity3D引擎开发的 游戏的操作:用手指拨动(划动)人物就转向,利用手机的重力感应进行人物左右调整. 今天用Unity来 ...
- Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
最近 Google 被墙了, 上传一下自己收集的 Android 开发环境, 下面给出的官网链接也可以下载; http://www.androiddevtools.cn/ 1. 百度网盘下载地址 An ...
- usb驱动开发6之端点描述符
学到这里不容易,先说一段故事吧. 二兄弟住一大楼的第80层,某深夜回家忘看通知(内容今夜停电). 兄弟俩背着沉重的大背包,在楼底下商量一下,决定一鼓作气,爬楼梯回家.两人抖擞精神,开始爬楼.爬到20楼 ...
- 【C#】【MySQL】C# 查询数据库语句@Row:=@Row+1
如何实现数据库查询产生虚拟的一列序号的功能: ) )AS r; 该语句可以实现产生虚拟的一列数据在MySQL中运行没有问题. 但是在C#里面调用去出现了错误"Parameter '@ROW' ...