springboot中Mybatis 一级缓存 是否生效?

众所周知,myabtis的一级缓存是sqlSesstion级别的,然后经过spring-mybatis的增强处理,每次都会自动关闭sqlsesstion,所以导致生成新的sqlsession,也就是看上去一级缓存失效了?

那么矛盾点是:
以下一个很普通的service

@Service
public class TestSerivce {

@Autowired

private PowerPlanDao powerPlanDao;

public Object getObject(){

for(int i=0;i<2;i++){

powerPlanDao.queryMap();

}

return "";

}

}

执行时 通过观察控制台打印sql情况,却又发现只执行了一次sql,也就是说缓存了第一次的结果,所以又得出了生效的结果,不知是为何?

sprinboot版本:2.5.13
mybatis版本: 1.2.0


回答:

如果没有额外配置,不生效才是对的,debug一看这个service是不是代理对象就知道了,就怕是花里胡哨的配置事务走了代理

以上是 springboot中Mybatis 一级缓存 是否生效? 的全部内容, 来源链接: utcz.com/p/944468.html

回到顶部