跳至主要內容
Mybatis使用

mybatis缓存

缓存介绍

一级缓存存在的问题

1、 一级缓存

mybatis缓存有一级缓存也叫SelSession缓存,是强制打开的,也就是说Mybatis没有提供关闭一级缓存的方式。一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyBatis会将其查询结果放在缓存中,以后再查询的时候,如果没有声明需要刷新,并且缓存没有超时的情况下,SqlSession都会取出当前缓存的数据,而不会再次发送SQL到数据库。一级缓存的存储位置是在JVM虚拟机内存,它放在一个Map中


chenkun大约 12 分钟框架框架