MyBatis之一级缓存及其一级缓存失效

 

定义:

一级缓存:本地缓存:与数据库同一次会话(sqlSession)期间查询到的数据会放在本地缓存中,如果以后要获取相同的数据直接从缓存中获取,不会再次向数据库查询数据
一个SqlSession拥有一个一级缓存
myBatis一直开启一级缓存,不同的SqlSession级别的缓存,数据不可以共用

一级缓存失效情况:(没有使用当前一级缓存的情况,如果没有使用,效果就是第二次查询相同的语句还需向数据库发送sql)
1.sqlSession不同
2.当sqlSession对象相同的时候,查询的条件不同,,原因是第一次查询时候一级缓存中没有第二次查询所需要的数据
3.当sqlSession对象相同,两次查询之间进行了插入的操作
4.当sqlSession对象相同,手动清除了一级缓存中的数据

 

posted @ 2019-10-06 22:34  香草味羊扒饭  阅读(2265)  评论(0编辑  收藏  举报