MyBatis基础篇十:缓存分析
十、MyBatis的缓存
1、MyBatis的一级缓存
一级缓存是
SqlSession
级别的,通过同一个
SqlSession
查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问
使一级缓存失效的四种情况:
1) 不同的SqlSession对应不同的一级缓存
2) 同一个SqlSession但是查询条件不同
3) 同一个SqlSession两次查询期间执行了任何一次增删改操作
4) 同一个SqlSession两次查询期间手动清空了缓存
2、MyBatis的二级缓存
二级缓存是
SqlSessionFactory
级别,通过同一个
SqlSessionFactory
创建的
SqlSession
查询的结果会被缓存;此后若再次执行相同的查询语句,结果就会从缓存中获取
二级缓存开启的条件:
a>在核心配置文件中,设置全局配置属性cacheEnabled="
共有 0 条评论