MyBatis进阶中,二级缓存会使“session.commit();”失效?

MyBatis进阶中,二级缓存会使“session.commit();”失效?

那它不是什么用都没有了吗。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,不是的。例如当session执行更新操作(update、delete、insert)后并执行session.commit()时,会清空其自身的一级缓存(执行更新操作的结果),也会清空二级缓存。

祝学习愉快~

  • 老师,也就是说sqlSession只执行了select语句的话,就算你commit提交了也不会清空二级缓存吧?但是执行了增删改操作的话再去提交commit就会清空二级缓存。因为我刚刚试了开启二级缓存,然后创建了两个不同的sqlSession对象,第一个sqlSession执行了查询,然后commit,第二个sqlSession又去同样的查询,但是查到的数据的hashcode都是一样的
    2022-02-11 23:23:39
  • 同学你好,只有执行update操作才会销毁

    祝学习愉快~

    2022-02-12 10:00:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师