mybatis中的一级缓存和二级缓存

2022-10-24 08:55:35

一级缓存:指的是mybatis中SqlSession对象的缓存。当我们执行查询后,查询得到的结果会同时存入到SqlSession为我们提供的一块区域中,该区域的结构是一个map,当我们再次查询同样的数据时,mybatis就会先去SqlSession中查询,有就拿出来用。一级缓存不用配置默认就能使用。
当SqlSession对象消失时,mybatis的一级缓存也就消失了。例如调用SqlSession的修改、添加、删除、commit()、close()、clearCache()等方法就会清空一级缓存。
二级缓存:指的是mybatis中SqlSessionFactory对象的缓存。同一个SqlSessionFactory对象创建的SqlSession对象可以共享该SqlSessionFactory对象的缓存。
二级缓存的使用步骤:
1、让mybatis框架支持二级缓存(在主配置文件中使用settings标签配置);
在这里插入图片描述
ps:其实mybatis中cacheEnabled默认值就是true,所以这个可以不配置。
2、让当前的映射文件支持二级缓存(在映射配置文件中配置);
在这里插入图片描述

3、让当前的操作支持二级缓存(在映射配置文件中的select标签中配置);
在这里插入图片描述
通过注解使用二级缓存:只需要在对应的dao加上以下注解即可:
在这里插入图片描述

  • 作者:xiao____ming
  • 原文链接:https://blog.csdn.net/xiao____ming/article/details/108207326
    更新时间:2022-10-24 08:55:35