iBATIS里主要是在xml文件里进行一些配置
<cacheModel id=”productCache” type=”LRU”> <flushInterval hours=”24”/> <property name=”size” value=http://blog.soso.com/qz.q/”1000” /> </cacheModel>
cacheModel有四个属性,id,type,serializable,readonly,后两个属性可以设置为true或false
type为缓存的模式,有四种MEMORY,LRU,FIFO,OSCACHE
Xml代码
<cacheModel type="MEMORY">
<flushInterval hours="24"/> //每隔多长时间更新,hours,minutes,seconds等
<flushOnExecute statement="insertProduct"/> //定义的映射id,当执行insertProduct时,执行高速缓存
<flushOnExecute statement="updateProduct"/>
<flushOnExecute statement="deleteProduct"/>
<property name=”reference-type” value=http://blog.soso.com/qz.q/”WEAK” /> //MEMORY cache实现只认识一个<property>元素。这个名为“reference-type”属性的值必须是STRONG,SOFT和WEAK三者其一。
默认是weak,让垃圾处理器去处理
</cacheModel>
<cacheModel type="LRU">
<flushInterval hours="24"/>
<flushOnExecute statement="insertProduct"/>
<flushOnExecute statement="updateProduct"/>
<flushOnExecute statement="deleteProduct"/>
<property name=”size” value=http://blog.soso.com/qz.q/”1000” /> //缓冲区大小
</cacheModel>
<cacheModel type="FIFO">
<flushInterval hours="24"/>
<flushOnExecute statement="insertProduct"/>
<flushOnExecute statement="updateProduct"/>
<flushOnExecute statement="deleteProduct"/>
<property name=”size” value=http://blog.soso.com/qz.q/”1000” />
</cacheModel>
<cacheModel type="OSCACHE">
<flushInterval hours="24"/>
<flushOnExecute statement="insertProduct"/>
<flushOnExecute statement="updateProduct"/>
<flushOnExecute statement="deleteProduct"/>
</cacheModel>
实际用法
Xml代码
<select id=”getProductList” cacheModel=”productCache”>
select * from PRODUCT where PRD_CAT_ID = #value#
</select>
在实际项目中运用时学习吧
分享到:
相关推荐
以下是对iBatis缓存配置策略的深入解析: 首先,iBatis 的 Cache 键(key)是由多个因素组成的,包括对象的hashCode、checksum、查询参数、sqlmap ID、SQL语句以及调用方法名。由于这些因素的多样性,即使是微小的...
总的来说,iBATIS缓存是优化数据库操作性能的有效手段,但同时也需要谨慎使用,合理配置缓存策略,防止出现因缓存导致的数据不一致问题。了解和掌握iBATIS缓存的原理与实践,能帮助开发者更好地优化应用程序,提升...
#### 三、配置iBATIS缓存 **3.1 cacheModel标签** 用于配置iBATIS的缓存模型。 - **3.1.1 cacheModel标签的属性** - **type**:指定缓存类型。 - **flushInterval**:刷新间隔,单位毫秒。 - **size**:缓存的...
- 是iBATIS缓存配置的核心,定义了缓存的行为和属性。 - 属性包括id(唯一标识)、type(缓存类型)、timeOut(超时时间)等。 3.1.1 cacheModel标签的属性: - readOnly:只读缓存,不允许更新。 - serialize...
通过在 `<select>` 标签中设置 `remapResults="true"`,可以有效地解决IBatis缓存动态字段带来的问题。这不仅避免了因缓存错误而导致的查询失败,还确保了程序能够灵活地处理动态表名和字段名。同时,需要注意的是,...
### iBATIS缓存的使用方法 在数据库访问框架iBATIS中,缓存机制是一项重要的功能,它能够显著提高应用程序的性能。本文将详细介绍iBATIS中的缓存使用方法,包括缓存模型的配置、不同类型的缓存控制器以及如何在SQL...
1. 配置缓存:在Mapper XML文件中,通过`<cache>`元素定义缓存配置,比如设置 eviction(驱逐策略)、flushInterval(刷新间隔)、size(最大容量)、readOnly(只读)等属性。 2. 映射缓存:在具体的SQL映射语句...
### Java ibatis缓存技术详解 #### 一、ibatis缓存概述 ibatis是一款流行的持久层框架,它简化了Java应用程序与数据库之间的交互过程。ibatis提供了多种特性,其中包括缓存机制,这对于提高应用程序的性能至关重要...
本文将深入探讨Java_iBatis缓存技术,包括它的概念、类型、配置以及在实际应用中的注意事项。 首先,缓存是一种存储机制,用于临时存放频繁访问的数据,减少数据库的读取次数,从而提高系统响应速度。在iBatis中,...
iBatis 数据缓存机制是提高数据库访问性能的重要手段,它允许将查询结果存储在内存中,以便后续相同查询能够快速获取数据,而无需每次都执行SQL查询。在深入理解iBatis的Cache概念之前,首先需要知道iBatis是一个轻...
ibatis的核心配置文件是`SqlMapConfig.xml`,它是ibatis运行的基础,用于设置ibatis的运行环境等信息,包括数据源和事务管理器等。配置文件主要包含以下几部分: 1. **properties**:用于读取外部属性文件,比如...
在Spring中,可以通过配置开启iBatis的二级缓存,并结合Oracle的行级锁和乐观锁策略,确保数据的一致性。 在Oracle中,我们可以利用ROWNUM伪列进行分页查询。例如,通过WHERE ROWNUM BETWEEN start AND end限制返回...
3. 缓存机制:Ibatis内置了缓存功能,可以在一定程度上提高数据访问效率,减少不必要的数据库交互。 4. 易于集成:Ibatis可以轻松地与Spring等框架集成,提供更强大的功能,如AOP事务控制、依赖注入等。 5. 错误...
全局配置文件是Ibatis系统的起点,它包含了数据源、事务管理器、插件、类型别名等整体设置。例如: ```xml <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...
除了这些基本的注解,Ibatis还提供了一些高级特性,如动态SQL、缓存、事务管理等。通过注解,我们可以将这些配置直接嵌入到Java类中,避免了XML配置文件的繁琐。 在提供的压缩包文件中,可能包含了示例代码、配置...
ibatis配置文件是框架运行的基础,通过上述设置,可以精细地控制ibatis的行为,实现高效的数据访问。理解这些配置选项对于充分利用ibatis的强大功能至关重要。在实际应用中,根据项目需求调整这些参数,可以显著提升...
缓存策略可以在全局配置文件中配置,也可以在每个Mapper中单独设置。源码中`org.apache.ibatis.cache.Cache`接口定义了缓存的基本操作,而具体的缓存实现如`org.apache.ibatis.cache.impl.PerpetualCache`则实现了...
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="Account"> <typeAlias alias="Account" type="Account"/> ...
1. **配置文件**:Ibatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含了数据源、事务管理器、SqlSessionFactory等重要设置。数据源定义了连接数据库的信息,如驱动、URL、用户名和密码;...