mybatis什么时候不走 缓存??

MyBatis什么时候不走 缓存??

一级缓存

sqlSession不是同一个对象,肯定就不走缓存了,

ThreadLocal只能确保同一个会话,

当new sqlSessionFactoryBuild新的会话,新的,那么会有2个不同的sqlSession,那么缓存失效

查询条件不一样,肯定也不走缓存

这个才是根源所在!!

什么时候一级缓存失效?

第一次DQL和第二次DQL之间你做了以下两件事中的任意一件,都会让一级缓存清空:

1.执行了sqlSession的clearCache方法,这是手动清空缓存。

2.执行了INSERT DELETE UPDATE语句。

二级缓存的范围是

qlSessionFactory。

使用二级缓存需要具备以下几个条件:

1.<setting name="cacheEnabled"value="true">全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。默认就是true,无需设置

2.在需要使用二级缓存的SqlMapper.xml文件中添加配置:<cache/>

3.使用二级缓存的实体类对象必须是可序列化的,也就是必须实现java.io.Serializable接口

4.SqlSession对象关闭或提交之后,一级缓存中的数据才会被写入到二级缓存当中。此时二级缓存才可用。

我也不懂。。。

相关推荐
空中湖24 分钟前
Spring AI RAG 完整实战:从零搭建企业知识库问答系统
java·人工智能·spring
扎Zn了老Fe2 小时前
MyBatis-Plus必知必会:告别低效CRUD,高效开发持久层
后端·mybatis
sun03225 小时前
【笔记】Spring MVC 相关介绍
java·spring·mvc
足球中国6 小时前
nuget把缓存搬离C盘
c语言·windows·缓存
醉城夜风~8 小时前
MyBatis 基础CRUD全套实战学习笔记
笔记·学习·mybatis
XS0301069 小时前
Spring AI 第二课-流式输出 & 运行时动态参数配置
java·人工智能·spring
额恩669 小时前
阶段五:HttpOnly Cookie 登录持久化
java·spring
万亿少女的梦1689 小时前
基于微信小程序、Spring Boot与Vue3的智慧养老管理系统设计与实现
spring boot·redis·微信小程序·mybatis·vue3
就是小王同学啊10 小时前
Spring小技巧之设计模式
sql·spring·设计模式
weixin_4365250710 小时前
Spring + Dubbo + Zookeeper项目依赖注入
spring·dubbo·java-zookeeper