mybatis的一级缓存是什么怎么使用?
1、 比较官方的解说是这样的:我们在操作数据库的时候,需要构造sqlSession对象,然后在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据,当我们执行查询语句的时候,会将查询结果缓存到这个map中,如果下次再查询的时候,会先判断先前是不是有个完全一样的查询,是的haul,就直接从缓存中读取,这个就是一级缓存了。 当然要注意,如果第一次查询过后,然后对数据进行了增删改,那么这个map缓存就会被清空了,避免下次查询的时候脏读(就是数据被改掉了,你再从缓存中读的话,数据是不对的) 下面用例子演示一下,首先我们查询一个id为1的用户,然后再一次读取,看看是不是用到一级缓存:

3、然后看看第二次查询相同数据,可以看到没有再出查询语句了,但是得到的数据是正确的,表明这次数据是取一级缓存的,这样就可以不用频繁的访问数据库。


6、所以呢,使用一级缓存的时候要注意需要在同一个sqlsession中使用。要不然使用的就不是一级缓存了,如果要跨sqlsession来使用的话,需要使用二级缓存(下次介绍), 这点要注意。 以上就是关于mybatis的一级缓存的介绍和使用了,如果文章对您有帮助的话,请为我的文章点赞投票,文章内容都是我平时做项目中遇到问题的积累和总结,谢谢了。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:74
阅读量:69
阅读量:48
阅读量:82
阅读量:55