mybatis的一级缓存

1.mybatis一级缓存,sqlSesion级别的缓存,一级缓存默认一直开启的,sqlSession级别的一个Map,把查询的数据放到一个Map中,以后需要相同的数据,直接从Map中去取

     与数据库一次会话期间,查询到的数据会放到本地缓存中

     以后需要相同的数据,直接从缓存中拿,不再去从数据中查询

2.mybatis一级缓存失效情况

  (1)sqlSession不同

(2)sqlSession相同,查询条件不同,(如查询了id为1的员工,再去查id为2的员工,一级缓存失效,当前一级缓存还没有数据)

(3)sqlSession相同,两次查询之间执行了增删改查操作(这个增删改查可能对当前数据有影响)

(4)sqlSession相同,手动清除一级缓存,如使用openSession.clearCache()

猜你喜欢

转载自www.cnblogs.com/shuaifing/p/9234016.html