mybatis缓存,一级缓存,默认是开启的,是基于sqlSession级别的缓存,同一个sqlSession做了一次相同的查询的操作,第二次就会从缓存中拿数据,不会重新在执行一次sql。
缓存失效的四种情况:
1.不同的sqlSession对应不同的一级缓存。
2.同一个sqlSession但是查询条件不同
3.同一个sqlSession两次查询直间做了一个增删改的操作。
4同一个sqlSession两次查询期间手动清空的缓存。
二级缓存:基于sqlSessionFactory级别的缓存,在sqlSessionFactory下创建的session满足一定条件都会被二级缓存,缓存到。
开启条件,全局配置设置cacheEnabled 设置为true,开启,这个我们都是默认开启的,
2.需要在映射xml里面开启缓存一个标签。
3.我们在操作sqlSessionFactory的时候,最后一定要提交或者关闭,二级缓存才可以生效



