问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

MyBatis二级缓存开启条件

创作时间:
作者:
@小白创作中心

MyBatis二级缓存开启条件

引用
CSDN
1.
https://m.blog.csdn.net/m0_68402491/article/details/139545000

MyBatis缓存为俩层体系。分为一级缓存和二级缓存。

一级缓存:

一级缓存默认开启,一级缓存的作用域是SqlSession级别的,这意味着当你更换SqlSession之后就不能再利用原来的SqlSession的一级缓存了。不同的SqlSession之间的一级缓存是隔离的。

但是在开发中更换SqlSession是更频繁的操作,所以一级缓存对我们的意义不太大。

使用了一级缓存,只查询了一次:

更换SqlSession后失效:

进行了俩次数据库查询:

二级缓存:

二级缓存的作用域是Mapper级别的,可以在多个SqlSession之间共享。

MyBatis二级缓存默认是关闭的。开启条件有四个:

  1. 在配置文件中通过settings配置cacheEnabled为true,但是当前MyBatis中已经默认配置为true,所以不用写,是一个建议性的配置。

  2. 在mapper文件中加入cache标签:

  3. 在sql标签中配置useCache属性,这个配置也可以省略。

  1. 存在事务。MyBatis自动开启事务,所以我们只需要将事务进行commit提交即可。

总结:满足上述第二点(cache标签)和第四点配置(存在事务)即可开启MyBatis二级缓存:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号