`
zscomehuyue
  • 浏览: 414545 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iBATIS sqlMapConfig配置详解

阅读更多
iBATIS sqlMapConfig配置详解
关键字: ibatis
Xml代码

   1. <?xml version="1.0" encoding="UTF-8" ?> 
   2.  
   3. <!DOCTYPE sqlMapConfig       
   4.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"       
   5.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> 
   6.  
   7. <sqlMapConfig> 
   8.  
   9.  <!--  
  10.     <properties resource="properties/database.properties"/> 
  11.     可将SqlMap中的<property />内容写到配置文件中,从此处引用。 
  12.     SQL Map配置文件及其每个映射文件都可以使用占位符${} 
  13.  --> 
  14.  
  15.     <settings  
  16.         cacheModelsEnabled="true"  
  17.         enhancementEnabled="true"  
  18.         lazyLoadingEnabled="true"  
  19.         errorTracingEnabled="true"  
  20.         maxRequests="32"  
  21.         maxSessions="10"  
  22.         maxTransactions="5"  
  23.         useStatementNamespaces="false"  
  24.     /> 
  25.      
  26. <!--  
  27.     <settings  
  28.          
  29.         cacheModelsEnabled="true"  
  30.         是否启用SqlMapClient上的缓存机制。  
  31.         建议设为"true"  
  32.          
  33.         enhancementEnabled="true"  
  34.         是否针对POJO启用字节码增强机制以提升 
  35.         getter/setter的调用效能,避免使用Java  
  36.         Reflect所带来的性能开销。  
  37.         同时,这也为Lazy Loading带来了极大的性能 
  38.         提升。  
  39.         建议设为"true"  
  40.          
  41.         lazyLoadingEnabled="true"  
  42.         是否启用延迟加载机制,建议设为"true"  
  43.          
  44.         errorTracingEnabled="true"  
  45.         是否启用错误日志,在开发期间建议设为"true" 
  46.         以方便调试  
  47.          
  48.         maxRequests="32"  
  49.         最大并发请求数(Statement并发数)  
  50.          
  51.         maxSessions="10"  
  52.         最大Session数。即当前最大允许的并发 
  53.         SqlMapClient 数。  
  54.         maxSessions设定必须介于 
  55.         maxTransactions和maxRequests之间,即  
  56.         maxTransactions<maxSessionsmaxSessions=<maxRequests  
  57.          
  58.         maxTransactions="5"  
  59.         最大并发事务数  
  60.          
  61.         useStatementNamespaces="false"  
  62.         是否使用Statement命名空间。  
  63.         这里的命名空间指的是映射文件中, sqlMap节点 
  64.         的namespace属性,如在上例中针对t_user 
  65.         表的映射文件sqlMap节点:  
  66.         <sqlMap namespace="User">  
  67.         这里,指定了此sqlMap节点下定义的操作均从 
  68.         属于"User"命名空间。  
  69.         在useStatementNamespaces="true"的情 
  70.         况下,Statement调用需追加命名空间,如: 
  71.         sqlMap.update("User.updateUser",user);  
  72.         否则直接通过Statement名称调用即可,如:  
  73.         sqlMap.update("updateUser",user);  
  74.         但请注意此时需要保证所有映射文件中, 
  75.         Statement定义无重名。  
  76.     />    
  77.      
  78.  --> 
  79.  
  80.   
  81.   <transactionManager type="JDBC" commitRequired="false"> 
  82.    
  83.    <!-- 
  84.         <transationManager>元素让您为SQL Map配置事务管理服务。 
  85.         属性type指定所使用的事务管理器类型。 
  86.         这个属性值可以是一个类名,也可以是一个别名。 
  87.         包含在框架的三个事务管理器分别是:JDBC,JTA和EXTERNAL。 
  88.          
  89.         JDBC:通过常用的Connection commit()和rollback()方法,让JDBC管理事务。 
  90.          
  91.         JTA:本事务管理器使用一个JTA全局事务,使SQL Map的事务包括在更大的事务范围内, 
  92.              这个更大的事务范围可能包括了其他的数据库和事务资源。 
  93.              这个配置需要一个UserTransaction属性,以便从JNDI获得一个UserTransaction。 
  94.          
  95.         EXTERNAL:这个配置可以让您自己管理事务。您仍然可以配置一个数据源, 
  96.                   但事务不再作为框架生命周期的一部分被提交或回退。 
  97.                   这意味着SQL Map外部应用的一部分必须自己管理事务。 
  98.                   这个配置也可以用于没有事务管理的数据库(例如只读数据库)。 
  99.  
100.     --> 
101.    
102.     <dataSource type="DBCP"> 
103.   <!--     
104.     <datasource>是<transactionManager>的一部分, 
105.         为SQL Map数据源设置了一系列参数。 
106.         目前SQL Map架构只提供三个DataSource Factory,但您也可以添加自己的实现。 
107.          
108.         SIMPLE: SimpleDataSourceFactory为DataSource提供了一个基本的实现, 
109.                 适用于在没有J2EE容器提供DataSource的情况。 
110.                 它基于iBatis的SimpleDataSource连接池实现。                     
111.                  
112.        DBCP: DbcpDataSourceFactory实现使用Jakarta DBCP 
113.             (Database Connection Pool)的DataSource API提供连接池服务。 
114.             适用于应用/Web容器不提供DataSource服务的情况,或执行一个单独的应用。 
115.              
116.        JNDI: JndiDataSourceFactory在应用容器内部从JNDI Context中 
117.              查找DataSource实现。当使用应用服务器,并且服务器提供了容器管理的连 
118.              接池和相关DataSource实现的情况下,可以使用JndiDataSourceFactory。 
119.              使用JDBC DataSource的标准方法是通过JNDI来查找。 
120. --> 
121.  
122.  
123.       <property name="JDBC.Driver"  
124.                 value="net.sourceforge.jtds.jdbc.Driver"/> 
125.       <property name="JDBC.ConnectionURL"  
126.                 value="jdbc:jtds:sqlserver://127.0.0.1:1433/EXTFFM"/> 
127.       <property name="JDBC.Username" value="sa"/> 
128.       <property name="JDBC.Password" value="sa"/> 
129.  
130.  <!-- 
131.           SQL Map配置文件拥有唯一的<properties>元素, 
132.           用于在配置文件中使用标准的Java属性文件(name=value)。 
133.           这样做后,在属性文件中定义的属性可以作为变量在SQL Map配置文件 
134.           及其包含的所有SQL Map映射文件中引用。 
135.            
136.           例如,如果属性文件中包含属性: 
137.           driver=org.hsqldb.jdbcDriver 
138.           SQL Map配置文件及其每个映射文件都可以使用占位符${driver} 
139.           来代表值org.hsqldb.jdbcDriver。例如: 
140.           <property name="JDBC.Driver" value="${driver}"/> 
141.       --> 
142.  
143.        
144.       <property name="Pool.MaximumActiveConnections" value="10"/> 
145.       <!-- 数据库连接池可维持的最大容量。缺省值: 10 --> 
146.        
147.       <property name="Pool.MaximumIdleConnections" value="5"/> 
148.        <!-- 数据库连接池中允许的挂起(idle)连接数。缺省值: 5 --> 
149.         
150.       <property name="Pool.TimeToWait" value="500" /> 
151. <!--  
152.          当线程试图从连接池中获取连接时,连接池中无可用连接可供使用, 
153.          此时线程将进入等待状态,直到池中出现空闲连接。 
154.          此参数设定了线程所允许等待的最长时间(单位:毫秒)缺省值: 10  
155. --> 
156.  
157.       <property name="Pool.MaximumCheckoutTime" value="120000"/> 
158.              
159. <!--  
160.         数据库联接池中,连接被某个任务所允许占用的最大时间, 
161.         如果超过这个时间限定,连接将被强制收回(单位:毫秒)。 
162.         缺省值: 20000  
163. --> 
164.        
165.                    
166.       <property name="Pool.PingQuery" value="seslct 1 from FFM_Sequence" /> 
167.  <!-- 
168.         数据库连接状态检测语句。 
169.         某些数据库在连接在某段时间持续处于空闲状态时会将其断开。 
170.         而连接池管理器将通过此语句检测池中连接是否可用。 
171.         它对性能的影响较大,应小心使用。检测语句应该是一个最简化的无逻辑SQL, 
172.         如:select 1 from dual缺省值: N/A 
173. -->      
174.        
175.       <property name="Pool.PingEnabled" value="false" /> 
176.        <!-- 是否允许检测连接状态。缺省值: false --> 
177.         
178.       <property name="Pool.PingConnectionsOlderThan" value="1" /> 
179.        <!-- 对持续连接时间超过设定值(毫秒)的连接进行检测。缺省值: 0 --> 
180.        
181.       <property name="Pool.PingConnectionsNotUsedFor" value="1" /> 
182.       <!-- 对空闲超过设定值(毫秒)的连接进行检测。缺省值: 0 --> 
183.     </dataSource> 
184.   </transactionManager> 
185.  
186.   <sqlMap resource="com/witnessj/ffm/domain/IBatisSqlMap/SequenceSqlMap.xml"/> 
187.     <!-- 
188.         <sqlMap>元素用于包括SQL Map映射文件和其他的SQL Map配置文件。 
189.         每个SqlMapClient对象使用的所有SQL Map映射文件都要在此声明。 
190.         映射文件作为stream resource从类路径或URL读入。 
191.         您必须在这里指定所有的SQL Map文件。 
192.          
193.         List more here... 
194.       <sqlMap resource="com/mydomain/data/Order.xml"/> 
195.       <sqlMap resource="com/mydomain/data/Documents.xml"/> 
196.     --> 
197.  
198. </sqlMapConfig> 
分享到:
评论

相关推荐

    ibatis_SqlMapConfig配置详解

    SqlMapConfig.xml是iBATIS的核心配置文件,它定义了全局的设置和数据源信息,使得整个系统能够正确地运行和管理SQL映射。下面我们将详细解析这个配置文件的各个部分。 首先,配置文件的开头是XML声明和DTD定义,...

    ibatis 配置文件详解

    ### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...

    ibatis sqlmap配置详解

    SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的...Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为sqlMapConfig.xml

    IBatis.net 配置各种数据库

    《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...

    ibatis配置文件信息

    #### 二、ibatis配置文件详解 ibatis的配置文件主要包括三部分:`SqlMap.properties`、`SqlMapConfig.xml` 和 `Student.xml`。下面将分别对这三个文件进行详细介绍。 ##### 1. SqlMap.properties 文件 `SqlMap....

    ibatis配置文件、映射文件详解

    ### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...

    ibatis配置详解

    **Ibatis配置详解** Ibatis,一款轻量级的Java持久层框架,它与Hibernate、MyBatis等ORM(对象关系映射)框架并列,是处理数据库操作的重要工具。Ibatis的核心理念是将SQL语句与Java代码分离,使得开发者能够更灵活...

    ibatis安装配置

    **Ibatis 安装配置详解** Ibatis 是一个优秀的轻量级 Java ORM(对象关系映射)框架,它允许开发者将 SQL 查询与 Java 代码分离,使得数据库操作更加灵活和可维护。在本文中,我们将深入探讨如何在 MyEclipse 开发...

    ibatis配置、映射文件详解.doc

    《iBatis配置与映射文件详解》 iBatis,作为一个轻量级的持久层框架,以其灵活的SQL映射和良好的数据库交互性深受开发者喜爱。本文将深入解析iBatis的核心配置文件`sqlMapConfig.xml`,以及映射文件的使用方法,...

    ibatis 配置教程 本人通过此文档学会写ibatis实例

    #### 四、ibatis核心配置详解 接下来我们将详细解释`sql-map-config.xml`文件中的各项配置: ```xml &lt;!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS....

    Spring+iBatis整合详解

    ### Spring与iBatis整合详解 #### 一、前言 在Java企业级应用开发中,Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力深受开发者喜爱,而iBatis(现更名为MyBatis)作为一款优秀的持久层框架,通过...

    ibatis配置文件

    ### ibatis配置文件详解 #### 一、引言 在Java开发领域中,持久层框架是连接业务逻辑层与数据库的重要桥梁。ibatis(现已更名为MyBatis)作为一款优秀的持久层框架,提供了灵活的数据访问层支持。本文将对ibatis的...

    \ibatis配置文件、映射文件详解

    本文将深入探讨iBATIS的核心配置文件——`sqlMapConfig.xml`,以及映射文件的详细内容。 `sqlMapConfig.xml`是iBATIS的全局配置文件,它包含了所有iBATIS运行时的设置,如数据源、事务管理器、缓存配置等。让我们...

    iBATIS-SqlMaps详解

    iBATIS的核心在于SqlMapConfig.xml配置文件,这是整个iBATIS框架的入口,包含了数据源、事务管理器、SqlMap等配置。数据源定义了连接数据库的相关参数,如URL、用户名、密码等。事务管理器则负责控制事务的提交和...

    ibatis_教程_详解.doc

    构建Ibatis基础代码包括创建SqlMapConfig.xml配置文件,这是Ibatis的全局配置文件,包含SqlMapClient的实例化信息。接着,定义SqlMapClient,它是Ibatis的主要接口,负责执行SQL映射文件中的SQL语句。SqlMapClient...

    log4j和ibatis配置文档

    《log4j与iBatis配置详解》 在软件开发中,日志管理和数据库操作是两个至关重要的环节。Log4j作为Java世界里最流行的日志框架之一,它提供了强大的日志记录功能,帮助开发者追踪应用程序运行过程中的信息、警告、...

    iBatis开发详解

    配置文件中的`&lt;sqlMapConfig&gt;`标签是整个iBatis的配置起点。 2. **SQL映射文件**:每个映射文件代表一个DAO(Data Access Object)层的接口,它包含了多个`&lt;select&gt;`, `&lt;insert&gt;`, `&lt;update&gt;`, `&lt;delete&gt;`标签,...

    ibatis 一个简单的项目详解

    为了使ibatis能够正确地执行SQL语句并返回结果集,需要配置ibatis的核心配置文件(如`SqlMapConfig.xml`)以及具体的映射文件(如`Student.xml`)。 ##### 4.1 SqlMapConfig.xml 这是ibatis的核心配置文件,主要...

    ibatis-sqlmaps详解

    1. **配置文件结构**:讲解了SQL Maps XML文件的基本结构,如&lt;sqlMapConfig&gt;、、、、和等元素的使用。 2. **参数映射**:介绍如何通过元素定义参数集,并使用子元素映射Java对象的属性到SQL语句的占位符。 3. **...

Global site tag (gtag.js) - Google Analytics