MyBatis二级缓存开启条件

打印 上一主题 下一主题

主题 587|帖子 587|积分 1761

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

        一级缓存默认开启,一级缓存的作用域是SqlSession级别的,这意味着当你更换SqlSession之后就不能再利用原来的SqlSession的一级缓存了。不同的SqlSession之间的一级缓存是隔离的。
但是在开发中更换SqlSession是更频仍的操作,所以一级缓存对我们的意义不太大。
利用了一级缓存,只查询了一次:


更换SqlSession后失效:

进行了俩次数据库查询:


二级缓存:

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

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

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

  • 在mapper文件中加入cache标签:

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

  • 存在变乱。MyBatis主动开启变乱,所以我们只必要将变乱进行commit提交即可。



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




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表