栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis的缓存配置(Cache)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis的缓存配置(Cache)

一.MyBatis的Cache配置
1.全局开关(Mybatis一级缓存SqlSession级别):
默认自动开启是true,默认支持一级缓存.
注意:无法取消设置一级缓存(想不设置一级缓存),即使把它配成false,想让其余各个Mapper XML文件配成不支持cache,也无法起到取消一级缓存的作用.(不让开发人员动)


    

2.开启Mybatis二级缓存SqlSessionFactory级别:
各个Mapper XML文件,默认是不采用cache.在配置文件加一行就可以支持cache:
 

3.Mapper XML文件配置支持cache后,文件中所有的Mapper statement就支持了.此时要个别对待某条,需要:


二.注意的几个细节
1.如果readOnly为false,此时要结果集对象是可序列化的.

2.在SqlSession未关闭之前,如果对于同样条件进行重复查询,
此时采用的是local session cache,而不是上面说的这些cache.
SqlSession关闭之后,如果对于同样条件进行重复查询,采用的是Mybatis一级缓存SqlSession级别.

3.MyBatis缓存查询到的结果集对象,而非结果集数据,是将映射的PO对象集合缓存起来.

说意义不大是在于:
a.面对一定规模的数据量,内置的cache方式就派不上用场了;
b.对查询结果集做缓存并不是MyBatis框架擅长的,它专心做的应该是sql mapper.
采用此框架的Application去构建缓存更合理,比如采用OSCache.Memcached啥的.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号