配置方法:
1. 在表对应的xml映射文件中增加如下语句
<cacheModel id="channelCache" type="MEMORY">
<flushInterval hours="24"/>
<flushOnExecute statement="PICTURE_CHANNEL.insert"/>
<flushOnExecute statement="PICTURE_CHANNEL.deleteById"/>
<flushOnExecute statement="PICTURE_CHANNEL.deleteByMap"/>
<flushOnExecute statement="PICTURE_CHANNEL.updateByMap"/>
<flushOnExecute statement="PICTURE_CHANNEL.updateById"/>
<property name="reference-type" value="WEAK" />
</cacheModel>
注释: id ="channelCache" 是定义cache的id
PICTURE_CHANNEL.insert 中,
PICTURE_CHANNEL为映射文件的namespace的名字, 我这个文件中这样写
<sqlMap namespace="PICTURE_CHANNEL">. 在后面点之后的名字
[insert,deleteById,eleteByMap,pdateByMap,updateById]是sqlmap中操作sql 的Id,
如我的sqlmap中id, <delete id="deleteById" ....
2. 将id为channelCache定义好的cache, 写在查询的Id属性中
如:
<select id="getParentChannelById" resultMap="ChannelResult"
parameterClass="java.lang.Integer" cacheModel="channelCache">
select * from PICTURE_CHANNEL start with CHANNEL_ID=#value# connect by prior
PARENT_ID=CHANNEL_ID
</select>
分享到:
相关推荐
在Java开发领域,iBatis作为一个轻量级的持久层框架,因其简洁高效而深受开发者喜爱。...阅读《Java_iBatis cache.doc》文档,你会获得更详细的实践指导和示例代码,进一步深化对iBatis缓存的理解。
源码中`org.apache.ibatis.cache.Cache`接口定义了缓存的基本操作,而具体的缓存实现如`org.apache.ibatis.cache.impl.PerpetualCache`则实现了缓存的存储和读取。 通过阅读和理解iBatis的源码,我们可以更深入地...
此外,iBATIS还提供了一些辅助工具,如`ParameterMap`用于管理SQL语句的输入参数,`ResultMap`用于处理查询结果的映射,以及`Cache`机制,用于缓存查询结果,提高系统性能。这些工具类使得开发者能够更方便地进行...
在深入理解iBatis的Cache概念之前,首先需要知道iBatis是一个轻量级的持久层框架,它将SQL映射与Java代码分离,提供了更灵活的数据库操作方式。 **Cache概述** iBatis 提供了本地数据缓存功能,用于存储查询结果集...
3. **配置Ibatis**:在Ibatis的配置文件中,定义一个Memcached的Cache实现,指定缓存的ID、超时时间等参数。 4. **创建缓存插件**:编写自定义的Ibatis拦截器,拦截SQL执行,实现数据的缓存和读取。 5. **在Mapper...
3. **MEMORY**:`com.ibatis.sqlmap.engine.cache.memory.MemoryCacheController` - 内存缓存策略直接将数据存储在内存中,提供最快的访问速度。 4. **OSCACHE**:`...
- **缓存**:iBATIS 支持多种缓存策略,包括 MEMORY 类型 Cache、LRU(最近最少使用)类型 Cache、FIFO(先进先出)类型 Cache 以及 OSCache。 - **MEMORY 类型 Cache**:内存中的简单缓存,支持弱引用,适用于小...
1. **MEMORY (com.ibatis.db.sqlmap.cache.memory.MemoryCacheController)** - 这是最简单的缓存实现方式,使用引用计数来管理缓存项。当一个缓存项的引用计数为零时,该项就会被移除。 - MEMORY缓存不支持统一的...
`<cache>`标签在XML配置文件中定义缓存配置,通过SqlSession的getCache()方法获取缓存实例。 7. **事务管理** iBatis 3.0支持编程式和声明式事务管理。编程式通过SqlSession的beginTransaction(), commit()和...
8. **Cache**:iBATIS的缓存机制可以提高数据读取效率,减少不必要的数据库访问。 9. **Exception Handling**:iBATIS抛出的异常体系,如`SqlMapException`,`DataIntegrityViolationException`等,可以帮助开发者...
缓存(Cache)功能是iBATIS提高性能的重要手段,它提供了几种类型的缓存策略,包括MEMORY类型(基于内存的缓存,可能使用WeakReference防止内存泄漏)、LRU(Least Recently Used,最近最少使用,一种淘汰算法)和...
### J2EE学习:Ibatis开发资料概要 #### 一、Ibatis简介与特点 Ibatis是一款半自动化的ORM(Object Relational Mapping)框架,它不像Hibernate等其他ORM工具那样提供完全自动化的数据库操作,而是更侧重于SQL语句...
### ibatis资料大全知识点概述 #### 一、ibatis简介及特点 - **定义**:ibatis是一个开源的持久层框架,它简化了Java应用程序与数据库之间的交互过程,但相较于其他如Hibernate这样的“一站式”ORM解决方案,...
- ****:设置ibatis运行时的行为参数,如最大请求数(`maxRequests`)、最大会话数(`maxSession`)、最大事务数(`maxTransaction`)以及语句缓存大小(`statementCacheSize`)等。 ##### 2. Statement元素 - **id**:唯一...
在IT行业中,数据库操作是应用程序开发的核心部分,而iBATIS作为一个流行的持久层框架,它为Java开发者提供了方便的数据访问接口。本示例主要关注iBATIS的缓存功能,这是提升系统性能的重要机制。缓存可以减少对...
例如,在`<select>`标签中添加`useCache="true"`来开启查询结果的缓存,或者在`<cache>`标签中定义缓存的配置,包括缓存类型、大小、过期时间等参数。 iBATIS的缓存机制不仅限于简单的数据存储,还支持基于查询条件...