sqlMapConfig.xml配置文件详解: 
Xml代码
Xml代码  
<? 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 ="true"  <!--是否启用缓存机制-- >  
   lazyLoadingEnabled="true"  <!-- 是否启用延迟加载机制 -->  
   enhancementEnabled="true"  <!-- 是否启用字节码增强机制 -->  
   errorTracingEnabled="true"  <!-- 是否启用错误处理机制 -->  
   maxRequests="32"  <!-- 最大并发请求数 -->  
   maxSessions="10"  <!-- 最大Session数 -->  
   maxTransactions="5"  <!-- 最大并发事务数 -->  
   useStatementNamespaces="true"/>  <!-- 是否启用名称空间 -->  
   < transactionManager  type ="JDBC" >   <!-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) -->  
    < dataSource  type ="SIMPLE" >   <!-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) -->  
        < property  name ="JDBC.Driver"  value ="com.mysql.jdbc.Driver" />  
        < property  name ="JDBC.ConnectionURL"  value ="jdbc:mysql://localhost/test" />  
        < property  name ="JDBC.Username"  value ="root" />  
        < property  name ="JDBC.Password"  value ="wyq" />  
        < property  name ="Pool.MaximumActiveConnections"  value ="10"   />   <!-- 连接池维持的最大容量 -->  
        < property  name ="Pool.MaximumIdleConnections"  value ="5" />   <!-- 连接池允许挂起的最大连接 -->  
        < property  name ="Pool.MaximumCheckoutTime"  value ="120000" />   <!-- 连接被某个任务所允许占用的最大时间 -->  
        < property  name ="TimeToWait"  value ="500" />   <!-- 线程允许等待的最大时间 -->  
      
    </ dataSource >  
  </ transactionManager >  
  < sqlMap  resource ="com/wyq/map/userMap.xml" />  
</ sqlMapConfig >  
    sqlMap节点指定了映射文件的位置, 配置文件中可以定义多个sqlMap元素,以指定项目内所包含的所有映射文件.
 
   <properties>元素的配置,它提供了允许在主配置文件之外的一个“名值对”列表,可以将其中的配置信息加载进来,而这些配置信息可以放在任何一个地方。使用properties元素,其中有两个属性,分别是:resource和url。
    使用resource属性时,类加载器会从类路径开始定位该资源;而使用url属性时,则是用java.net.URL类来处理的,提供一个有效的URL即可。之前的示例中,我们使用了resource属性来配置数据库连接信息,如:
 
Java代码
<properties resource="jdbc.properties" />  
Java代码  
<properties resource="jdbc.properties" />  
 而在jdbc.properties中,我们配置了数据库的驱动属性,连接url,用户名和密码,这样它们就可以被properties元素加载进来,使用起来非常方便。而properties配置文件中是以“名值对”的方式存储的,那么我们使用名称即可引用,这是很多人都熟悉的语法,比如:${driver}就能获取到com.mysql.jdbc.Driver,
 
一、 transactionManager节点
transactionManagerab 定义了ibatis的事务管理器,目前提供了以下几种选择:

1)  JDBC
                    通过传统JDBC Connection.commit/rollback实现事务支持.
2)  JTA
                   使用容器提供的JTA服务实现全局事务管理.
3)  EXTERNAL
                 外部事务管理,如在EJB中使用ibatis,通过EJB的部署配置即可实现自动的事务管理机制.此时ibatis将把所有事务委托给外部容器进行管理.此外,通过Spring等轻量级容量实现事务的配置化管理也是一个不错的选择. 
二 dataSource 节点
dataSource 从属于 transactionManager, 用于设定ibatis运行期使用DataSource属性.

type 属性: dataSource 元素的 type 属性指定了 dataSource 的实现类型.可选项目:

1)  SIMPLE:

SIMPLE 是 ibatis 内置的 dataSource 实现,其中实现了一个简单的数据库连接池机制,对应 ibatis 实现类为

com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory.

JDBC 使用 数据库自己的事务(局部事务),connect.beginTranstion(), connect.commit()等.

2)  DBCP

基于Apache DBCP连接池组件实现的DataSource封装,当无容器提供DataSource服务时,建议使用该选项,对应ibatis实现类为

com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory.

JTA : 使用jta 事务管理器管理事务(全局事务),使用userTranstion对象.

3)  JNDI

使用J2EE容器提供的DataSource实现, DataSource将通过指定的JNDI Name从容器中获取.对应ibatis实现类为

com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory.

Ibatis 不控制事务,事务交由外部控制,一般在CTM,或spring托管事务中使用.

JNDI的配置大部分都在应用服务器中进行,所以在ibatis中的配置相对简单
 
(1)jdbc事务控制的JNDI配置
  
Xml代码
Xml代码  
< transctionManager  type ="JDBC" >  
     < dataSource  type ="JNDI" >  
           < property  name ="DataSource"  value ="java:comp/env/jdbc/myDataSource" />  
     </ dataSource >  
</ transctionManager >  
 
 
 
(2)JTA事务控制的JNDI配置
  
Xml代码
Xml代码  
< transctionManager  type ="JTA" >  
     < property  name ="UserTransaction"  value ="java:/ctx/con/UserTransaction" />  
     < dataSource  type ="JNDI" >  
           < property  name ="DataSource"  value ="java:comp/env/jdbc/myDataSource" />  
      </ dataSource >  
</ transctionManager >  
 
<!-- 
maxRequests 
同时执行 SQL 语句的最大线程数。大于这个值的线程将阻塞直到另一个线程执行完成。不同的 DBMS有不同的限制值,但任何数据库都有这些限制。通常这个值应该至少是maxTransactions(参见以下)的 10 倍,并且总是大于 maxSessions 和maxTranactions。减小这个参数值通常能提高性能。

例如:maxRequests=“256” 
缺省值:512

maxSessions 
同一时间内活动的最大 session 数。一个 session 可以maxSessions是代码请求的显式 session,也可以是当线程使用SqlMapClient 实例(即执行一条语句)自动获得的session。它应该总是大于或等于 maxTransactions 并小于 maxRequests。减小这个参数值通常能减少内存使用。

例如:maxSessions=“64” 
缺省值:128

maxTransactions 
同时进入 SqlMapClient.startTransaction()的最大线程maxTransactions 数。大于这个值的线程将阻塞直到另一个线程退出。不同的 DBMS 有不同的限制值,但任何数据库都有这些限制。这个参数值应该总是小于或等于maxSessions 并总是远远小于 maxRequests。减小这个参数值通常能提高性能。

例如:maxTransactions=“16” 
缺省值:32

cacheModelsEnabled 
全局性地启用或禁用 SqlMapClient 的所有缓存cacheModelsEnabled model。调试程序时使用。

例如:cacheModelsEnabled=“true” 
缺省值:true(启用)

lazyLoadingEnabled 
全局性地启用或禁用SqlMapClient的所有延迟加载。lazyLoadingEnabled 调试程序时使用。 
例子:lazyLoadingEnabled=“true” 
缺省值:true(启用)

enhancementEnabled 
全局性地启用或禁用运行时字节码增强,以优化访enhancementEnabled 
问Java Bean属性的性能,同时优化延迟加载的性能。

例子:enhancementEnabled=“true” 
缺省值:false(禁用)

useStatementNamespaces 
如果启用本属性,必须使用全限定名来引用 mapped useStatementNamespaces 
statement。Mapped statement 的全限定名由 sql-map 的名称和 mapped-statement 的名称合成。例如: queryForObject("sqlMapName.statementName");

例如:useStatementNamespaces=“false” 
缺省值:false(禁用)

defaultStatementTimeout 
此设置值必须为一个整数,作为JDBC连接超时的时间,这个值可以被任意一个映射文件的statement属性来重新设置, 
如果没有指明,查询将无超时时间限制除非在映射文件中设置statement属性值。被设置的值以秒为单位等待连接失效 
  
classInfoCacheEnabled 
With this setting enabled, iBATIS will maintain a cache of introspected 
classes. This will lead to a significant reduction in startup time if many 
classes are reused. 
例如: classInfoCacheEnabled=“true” 
缺省值: true (启用)

statementCachingEnabled (iBATIS 2.3.0以后版本中有) 
With this setting enabled, iBATIS will maintain a local cache of 
prepared statements. This can lead to significant performance 
improvements. 
例如: statementCachingEnabled=“true” 
缺省值: true (启用) 
-->

sqlMapConfig.xml配置文件详解的更多相关文章

  1. AndroidManifest.xml配置文件详解(转载)

     AndroidManifest.xml配置文件详解 2013-01-05 10:25:23 分类: Android平台 AndroidManifest.xml配置文件对于Android应用开发来说是 ...

  2. struts2.0中struts.xml配置文件详解

    先来展示一个配置文件 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...

  3. maven学习(一)setting.xml配置文件详解

    maven环境搭建: 1.官网下载zip包,解压至任意目录(如:E:\wly\apache-maven-3.2.5) 2.环境变量MAVEN_HOME(E:\wly\apache-maven-3.2. ...

  4. log4j.xml配置文件详解

    一 log4j.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:c ...

  5. SqlMapConfig.xml文件详解

    SqlMapConfig.xml 是 mybatis 的全局配置文件,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHan ...

  6. struts2中struts.xml配置文件详解【未整理】

    1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...

  7. struts2 struts.xml配置文件详解

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...

  8. struts2.0 struts.xml配置文件详解

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...

  9. AndroidManifest.xml配置文件详解

    AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅.下面是一个标准的AndroidManifest.xm ...

随机推荐

  1. 第十课:CSS选择器的介绍和区分

    IE7以及以下版本: getElementById是不区分表单元素ID与Name的,因此如果有一个表单元素只定义name,并与我们的目标元素ID同名,并且我们的目标元素在它的后面,那么就会选择到那个表 ...

  2. SQL删除重复的记录(只保留一条)

    首先新建表: --创建示例表 CREATE TABLE t ( id ,) PRIMARY KEY, a ), b ) ) --插入数据 INSERT INTO t SELECT 'aa','bb' ...

  3. nginx 下 location 配置解释

    当我们在使用负载均衡和反向代理的时候 我们会考到虚拟主机下面有着个配置 现在我们看一下反向代理的location 下面的配置实例: server { listen 80 ;    监听的端口号 ser ...

  4. VS插件之小番茄

    文件源以及安装说明! http://www.youranshare.com/app/98.html

  5. POJ 2449Remmarguts' Date K短路模板 SPFA+A*

    K短路模板,A*+SPFA求K短路.A*中h的求法为在反图中做SPFA,求出到T点的最短路,极为估价函数h(这里不再是估价,而是准确值),然后跑A*,从S点开始(此时为最短路),然后把与S点能达到的点 ...

  6. LCA最近公共祖先 Tarjan离线算法

    学习博客:  http://noalgo.info/476.html 讲的很清楚! 对于一颗树,dfs遍历时,先向下遍历,并且用并查集维护当前节点和父节点的集合.这样如果关于当前节点(A)的关联节点( ...

  7. 使用quartz 定时任务

    Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度. ...

  8. Java-httpClient警告: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.

    使用HttpClient,总是报出“Going to buffer response body of large or unknown size. Using getResponseBodyAsStr ...

  9. Windows Server 2008系统如何取消登录时要按Ctrl+Alt+Delete组合键

    1.点桌面任务栏的“开始-->运行”在弹出的窗口中输入gpedit.msc . 2.输入gpedit.msc后,点击确定即打开了组策略编辑器.在组策略编辑器的左框内依次序展开(点前面的“+”号) ...

  10. [转] 计算几何模板Orz

    #include<math.h> #define MAXN 1000 #define offset 10000 #define eps 1e-8 #define PI acos(-1.0) ...