mybatis开启二级缓存
1、在mybatis-config.xml开启二级缓存配置(默认开启的);
2、二级缓存是namespace级别的(在mapper里添加);
其他mapper也使用该二级缓存配置
<cache-ref namespace="com.someone.application.data.SomeMapper"/>
////////////////////////////////////////////////
这就是在当前mapper中使用二级缓存。
小结
当第一次执行查询的时候,先看二级缓存是否命中,如果命中,直接返回;如果没命中,再看一级缓存是否命中,如果命中,直接返回,如果没命中,那么查询数据库,查询完之后放到一级缓存中,当sqlsession关闭或提交的时候,再放到二级缓存中。
A、一级缓存失效的四种情况
sqlSession不同
sqlSession相同,查询条件不同
sqlSession相同,两次查询之间执行了增删改操作!
sqlSession相同,手动清除一级缓存