基于针对Mybatis缓存的学习笔记,以供拾遗。
Mybatis的缓存分为一级缓存和二级缓存。一级缓存基于SqlSession实现,默认开启且不能关闭,只能调整级别。
二级缓存基于Mapper实现,本次学习主要关注二级缓存。
Mybatis的缓存基于JVM堆内存实现,所有的缓存数据存放于Java对象中。
开启Mybatis缓存的步骤:
1) Mybatis主配置文件指定cacheEnabled属性为true
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
2) 在Mybatis Mapper配置文件中,配置缓存策略、缓存刷新频率、缓存容量等属性。(FIFO,先进先出)
<cache evication="FIFO" flushInterval="60000" size="512" readOnly="true"/>
3) 在配置Mapper时,通过useCache属性指定Mapper执行时是否使用缓存,flushCache属性指定执行Mapper执行后是否刷新缓存
<select id="listUsers" flushCache="false" useCache="true"
resultType="com.example.entity.UserEntity">
select * from user
</select>
执行查询操作后,查询结果会被保存在二级缓存中;执行更新操作后,二级缓存会被清空。
本文深入解析Mybatis的一级和二级缓存机制,详细介绍了如何在Mybatis配置文件中启用缓存,设置缓存策略及刷新频率。通过具体配置示例,帮助读者理解如何在Mapper中使用和刷新缓存,提升数据查询效率。
1062

被折叠的 条评论
为什么被折叠?



