Mybatis的缓存机制

一、Mybaits提供的缓存机制可提高数据库性能,减少数据库压力,它主要有一级缓存和二级缓存

1、一级缓存:一级缓存是sqlSession的缓存,在这个对象中有HashMap来存储数据,如第一次查询数据的时候会把数据保存到HashMap中,第二次查询的时候会从HashMap中获取。当然HashMap是私有的,别的sqlSession是访问不到的。当SqlSession执行了增、删、改并提交时,就会删除HashMap中的数据,保证缓存中的数据与数据库中的数据是一样的。不会出现脏读的现象。

Mybaits默认开启的是一级缓存。

2、二级缓存:二级缓存是mapper级别的缓存,也就是同一个namespace的mappe.xml,当多个SqlSession使用同一个Mapper操作数据库的时候,得到的数据会缓存在同一个二级缓存区域,二级缓存默认是没有开启的。需要在setting全局参数中配置开启二级缓存。当SqlSession执行了增、删、改并提交时,就会删除Mapper中的数据,保证缓存中的数据与数据库中的数据是一样的。不会出现脏读的现象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值