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. 9、面向对象以及winform的简单运用(输入输出流、图像的上传和读取)

    一.输入输出流 1.概念: 输入输出流主要用于保存.读取文件,其内容保存在内存中. 2.使用方法: using System.IO; //System.IO 命名空间包含允许读写文件和数据流的类型以及 ...

  2. EntityFramework_MVC4中EF5 新手入门教程之二 ---2.执行基本的 CRUD 功能

    在前面的教程中,您创建 MVC 应用程序中,存储和显示数据使用实体框架和 SQL 服务器 LocalDB.在本教程中,您会审查和自定义的 CRUD (创建. 读取. 更新. 删除) MVC 脚手架会自 ...

  3. WCF 入门(20)

    前言 Happy weekend. 第20集 通过实现IErrorHandler接口来统一处理WCF里的异常 Centralized exception handling in WCF by impl ...

  4. "use strict"

    "use strict";//严格模式 <!doctype html> <html> <head> <meta charset=" ...

  5. Java sun的JDK

    JDK概述 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Softwa ...

  6. Java 并发-访问量

    有几个常用的措施 1.对常用功能建立缓存模块 .尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能.统计的功能尽量做缓存,或按每天一统计或定时统计相关报表 ...

  7. 【uoj2】 NOI2014—起床困难综合症

    http://uoj.ac/problem/2 (题目链接) 题意 给出n个操作包括And,or,xor,求从0~m中的一个数使得经过这些操作后得到的值最大. Solution 大水题..贪心由高到低 ...

  8. easyVS

    easyVS 详细说明点这里

  9. Spring监听器配置

    使用spring框架时如果同时使用org.springframework.web.util.Log4jConfigListener监听器,那么在web.xml中的监听器的注册顺序为org.spring ...

  10. ubuntu 14.04 vim install youcompleteme

    sudo apt-get install vim ; sudo apt-get install vim-youcompleteme ; sudo apt-get install vim-addon-m ...