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>
分享到:
相关推荐
SqlMapConfig.xml是iBATIS的核心配置文件,它定义了全局的设置和数据源信息,使得整个系统能够正确地运行和管理SQL映射。下面我们将详细解析这个配置文件的各个部分。 首先,配置文件的开头是XML声明和DTD定义,...
### ibatis配置文件详解 #### 一、ibatis概述 ibatis,又称MyBatis,是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。ibatis可以...
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的...Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为sqlMapConfig.xml
《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...
#### 二、ibatis配置文件详解 ibatis的配置文件主要包括三部分:`SqlMap.properties`、`SqlMapConfig.xml` 和 `Student.xml`。下面将分别对这三个文件进行详细介绍。 ##### 1. SqlMap.properties 文件 `SqlMap....
### ibatis配置文件、映射文件详解 #### 1. SQL Map Config 文件详解 在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它...
**Ibatis配置详解** Ibatis,一款轻量级的Java持久层框架,它与Hibernate、MyBatis等ORM(对象关系映射)框架并列,是处理数据库操作的重要工具。Ibatis的核心理念是将SQL语句与Java代码分离,使得开发者能够更灵活...
**Ibatis 安装配置详解** Ibatis 是一个优秀的轻量级 Java ORM(对象关系映射)框架,它允许开发者将 SQL 查询与 Java 代码分离,使得数据库操作更加灵活和可维护。在本文中,我们将深入探讨如何在 MyEclipse 开发...
《iBatis配置与映射文件详解》 iBatis,作为一个轻量级的持久层框架,以其灵活的SQL映射和良好的数据库交互性深受开发者喜爱。本文将深入解析iBatis的核心配置文件`sqlMapConfig.xml`,以及映射文件的使用方法,...
#### 四、ibatis核心配置详解 接下来我们将详细解释`sql-map-config.xml`文件中的各项配置: ```xml <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS....
### Spring与iBatis整合详解 #### 一、前言 在Java企业级应用开发中,Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力深受开发者喜爱,而iBatis(现更名为MyBatis)作为一款优秀的持久层框架,通过...
### ibatis配置文件详解 #### 一、引言 在Java开发领域中,持久层框架是连接业务逻辑层与数据库的重要桥梁。ibatis(现已更名为MyBatis)作为一款优秀的持久层框架,提供了灵活的数据访问层支持。本文将对ibatis的...
本文将深入探讨iBATIS的核心配置文件——`sqlMapConfig.xml`,以及映射文件的详细内容。 `sqlMapConfig.xml`是iBATIS的全局配置文件,它包含了所有iBATIS运行时的设置,如数据源、事务管理器、缓存配置等。让我们...
iBATIS的核心在于SqlMapConfig.xml配置文件,这是整个iBATIS框架的入口,包含了数据源、事务管理器、SqlMap等配置。数据源定义了连接数据库的相关参数,如URL、用户名、密码等。事务管理器则负责控制事务的提交和...
构建Ibatis基础代码包括创建SqlMapConfig.xml配置文件,这是Ibatis的全局配置文件,包含SqlMapClient的实例化信息。接着,定义SqlMapClient,它是Ibatis的主要接口,负责执行SQL映射文件中的SQL语句。SqlMapClient...
《log4j与iBatis配置详解》 在软件开发中,日志管理和数据库操作是两个至关重要的环节。Log4j作为Java世界里最流行的日志框架之一,它提供了强大的日志记录功能,帮助开发者追踪应用程序运行过程中的信息、警告、...
配置文件中的`<sqlMapConfig>`标签是整个iBatis的配置起点。 2. **SQL映射文件**:每个映射文件代表一个DAO(Data Access Object)层的接口,它包含了多个`<select>`, `<insert>`, `<update>`, `<delete>`标签,...
为了使ibatis能够正确地执行SQL语句并返回结果集,需要配置ibatis的核心配置文件(如`SqlMapConfig.xml`)以及具体的映射文件(如`Student.xml`)。 ##### 4.1 SqlMapConfig.xml 这是ibatis的核心配置文件,主要...
1. **配置文件结构**:讲解了SQL Maps XML文件的基本结构,如<sqlMapConfig>、、、、和等元素的使用。 2. **参数映射**:介绍如何通过元素定义参数集,并使用子元素映射Java对象的属性到SQL语句的占位符。 3. **...