转自
http://zhangzuanqian.iteye.com/blog/430643
<?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>
<settings
cacheModelsEnabled="false"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="true"
/>
<sqlMap resource="com/test/dao/TEST_USER_SqlMap.xml" />
</sqlMapConfig>
<!-- Settings元素用于优化SqlMapClient实例的各选项,
cacheModelsEnabled属性是否启用SqlMapClient的model的缓存处理,
enhancementEnabled属性,是否运行时增强字节码,
lazyLoadingEnabled属性是否启用所有的延迟加载,调试程序时使用,
maxRequests属性同时执行SQL语句的最大线程数,大于这个值的线程将阻塞直到另一个线程执行结束,不同的DBMS有不同的限定值,减少这个参数值能提高性能,通常是maxTransations数值的10倍,
maxTransations属性,同时进入SqlMapClient.startTransaction()的最大线程数,大于这个线程的数值将被阻塞,直到另一个线程的结束。不同的DBMS有不同的限制,这个参数值
应该小于或等于maxSessions数值 -->
<settings
cacheModelsEnabled="true"
lazyLoadingEnabled="false"
enhancementEnabled="true"
maxSessions="64"
maxTransactions="8"
maxRequests="128"
useStatementNamespaces="false"
classInfoCacheEnabled="true"
errorTracingEnabled="true"
defaultStatementTimeout=""
statementCachingEnabled="true"
/>
<!--
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 (启用)
-->
分享到:
相关推荐
1. `<properties>`元素可以引用外部的属性文件,如`database.properties`,这样可以在SQL映射文件中使用`${}`占位符引用这些属性,以实现参数化配置。例如,数据库连接信息可以在属性文件中定义,然后在SQL语句中...
- 在Ibatis的配置文件`SqlMapConfig.xml`中,可以设置`<settings>`标签内的`defaultExecutorType`属性为`BATCH`或`SIMPLE`,以确保每次执行的SQL都是独立的,避免因缓存导致的编码问题。 - 同时,确保你的项目编码...
ibatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 #### 二、ibatis配置文件解析 ibatis的核心配置文件是`SqlMapConfig.xml...
开发者可以在Service层的方法中调用iBATIS的DAO接口,执行SQL操作,然后由Spring管理事务的开始、提交或回滚。 总之,iBATIS2.0是一个强大的SQL Mapping框架,它简化了数据访问层的开发,允许开发者自由地编写SQL,...
下面我们将详细探讨Ibatis配置文件模板中的关键组成部分,包括`SqlMap.properties`、`SqlMapConfig.xml`以及与JavaBean的映射文件。 1. **SqlMap.properties** 这是Ibatis的属性配置文件,主要用于存放数据库连接...
本文将对ibatis的核心配置文件`sqlMapConfig.xml`进行详细解析,帮助读者更好地理解和掌握ibatis的配置方式。 #### 二、`sqlMapConfig.xml`文件结构 `sqlMapConfig.xml`文件是ibatis的主要配置文件,用于定义整个...
### iBatis简明教程及快速入门...通过本教程的学习,您应该已经掌握了iBatis的基本使用方法,并能够开始在实际项目中应用iBatis进行数据持久化操作。iBatis以其独特的简洁性和灵活性,在很多场景下都能发挥出色的表现。
配置示例中的`<tx:advice>`和`<tx:method>`元素用于指定哪些方法需要进行事务管理,以及相应的事务属性,如传播行为。 4. **事务管理器** 配置事务管理器是实现声明式事务的关键步骤。Spring中通常使用`...
在本文档中,我们将详细介绍如何通过简单的配置来使用ibatis(现在通常被称为MyBatis),并提供一个具体的示例来帮助理解整个配置过程及其应用场景。 #### 二、ibatis简介 ibatis(现称为MyBatis)是一个优秀的...
以上配置中,`txAdvice`定义了不同的方法名称对应的事务传播行为,比如所有的“add”、“del”和“update”方法都使用REQUIRED传播行为,而其他方法默认为只读操作。 ##### 3. SqlMapClient配置 接下来,需要配置`...
总结,iBATIS通过SQL Maps和DAO提供了一种在保持SQL控制权的同时简化数据库操作的方法。它的配置文件允许开发者灵活地管理数据源和SQL映射,提高了Java应用的可维护性和可扩展性。通过深入理解iBATIS的原理和配置,...
通过这个过程,我们可以学习到如何在实际项目中整合这些技术,并掌握它们的基本用法。 #### 二、环境准备 在开始搭建项目之前,我们需要准备好以下环境: 1. **Oracle数据库**:用于存储用户数据。 2. **...
尽管Ibatis已经升级为MyBatis,但学习其基本原理和用法对于理解现代Java开发中的数据处理依然有价值。 【描述】:“ibatis已改成了mybatis,虽然ibatis是以前的技术,但是多学学还是很好的。” Ibatis最初由...
在iBATIS中,可以使用类似的方法来实现这样的查询。一种常见的错误写法是直接将`%`包含在SQL字符串中,如下所示: ```xml SELECT * FROM t_stu WHERE s_name LIKE #name# ``` 这种方式的问题在于,当调用查询时...
本教程将详细讲解如何配置ibatis环境,并通过实际示例来演示ibatis的使用方法。 根据描述中的重复信息来看,本文档旨在帮助读者掌握ibatis的配置流程,通过实践来学习如何编写ibatis实例。 #### 二、环境搭建 在...
这个“IBatisDemo”项目是一个简化的示例,旨在展示如何在.NET环境中集成和使用IBatis。在这个Demo中,我们将深入探讨IBatis的核心概念、配置、以及如何与数据库进行交互。 **1. IBatis .NET 简介** IBatis .NET 是...
本文将详细介绍如何使用MyEclipse8.5进行SSI(Struts2、Spring2.5、iBatis)框架的整合搭建。首先,我们需要一个新的Web项目作为基础。 1. **创建Web Project** 在MyEclipse8.5中,选择`File` -> `New` -> `...