七、MyBatis中的一级缓存和二级缓存

一级缓存

 	一级缓存是针对于SqlSession对象进行缓存的,当执行两次相同的查询语句时,第一次查询将会把数据写在
内存中,第二次直接从缓存中取数据。
使用场景:
  • 数据几乎不会改变的
  • 数据的正确与否对最终结果影响不大的

当两次查询中间执行了增删改,commit,以及close和clearCache操作时,缓存会清空!

二级缓存

指的是Mybatis中SqlSessionFactory对象的缓存,由同一个SqlSessionFactory创建的对象共享其缓存。
使用步骤
  • 让Mybatis框架支持二级缓存(在配置文件中配置)默认是true,可以不配置
  • 让当前映射文件支持二级缓存(在映射文件中配置),插入<cache/>标签
  • 让select标签支持二级缓存userCache=“true”
    在这里插入图片描述

注意:

在一级缓存中的是对象,所以每次获取的对象都是同一个,在二级缓存中的是数据,所以每次获取都会分配一个新的对象来,但这些不同的对象是从缓存中获取的,并不是从数据库中获取!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值