更新时间: 2022-10-28 09:50:02#mybatis 缓存–不同SqlSession缓存不能共享 MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的。即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数,只会进行一次数据库查询,然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。 但是不同的SqlSession对象,因为不用的SqlSession都是相互隔离的,所以相同的Mapper、参数和方法,他还是会再次发送到SQL到数据库去执行,返回结果。 mybatis: configuration: cache-enabled: false #禁用二级缓存 local-cache-scope: statement #一级缓存指定为statement级别 每次查询结束都会清掉一级缓存,实际效果就是禁用了一级缓存; org.apache.ibatis.executor.BaseExecutor#clearLocalCache https://blog.csdn.net/NongYeting/article/details/106408985