mybatis二级缓存默认未开启源码解读

说明

mybatis的二级缓存,我们通常说,默认是关闭的,这个结论是没有问题的,但是我觉得有几个点需要说明白
二级缓存的时候,需要有几个配置必须开启,二级缓存才会生效

1.全局配置文件中的cacheEnable属性设置为true
2.mapper.xml文件中,配置节点
3.mapper.xml文件中,select语句的useCache配置为true

这三者同时满足,才会使用二级缓存

上面这三个配置,在源码中,解析了之后,分别对应这三个类中的属性
我们知道,mybatis中的配置文件,在解析了之后,最终会把所有解析的结果,映射到一个类中org.apache.ibatis.session.Configuration
1.对应着 configuration.cacheEnabled属性
2.对应着 Configuration --> mappedStatements --> cache
3.对应着 Configuration --> mappedStatements --> useCache

我们常说二级缓存默认是关闭的,并不是说这三个配置默认都没有配置,翻了源码之后,默认不做任何配置的情况下:
1.全局配置文件中的CacheEnable属性,默认是true
2.mapper.xml文件中的节点如果没有配置, 那MappedStatement对象中的cache属性为null
3.如果select语句的useCache没有配置,select语句默认是true,其他是false

所以,虽然这种也是默认关闭的,但是我觉得需要说明白,并不是二级缓存用到的这几个

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值