mybatis框架一级缓存和二级缓存的理解

iv. Mybatis中的一级缓存和二级缓存
a) 一级缓存—SqlSession对象的缓存:

  1. 它值得是mybatis中SqlSession对象的缓存
  2. 当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中
  3. 该区域的结构是一个map,当我们再次查询同样的数据,mybatis会先去SqlSession中查询是否有,有的话拿出来继续用。
  4. 当SqlSession对象消失时,mybatis的一级缓存也消失了。
    ii. 一级缓存的分析,一级缓存是SqlSession范围的缓存,当调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清空一级缓存。
    b) 二级缓存:
  5. 它指的是mybatis中SqlSessionFactory对象的缓存,由一个SqlSessionFactory对象创建的SqlSession共享其散装数据的缓存。
    a)
  6. 二级缓存的使用步骤:
    i. 第一步:让mybatis框架支持二级缓存(在SQLMapConfig.xml中配置)
    ii. 第二步:让当前的映射文件支持二级缓存(在IuserDao.xml中配置)
    iii. 第三部:让当前的操作支持二级缓存(在select标签中配置)

查看mybatis框架的缓存配置属性:
https://mybatis.org/mybatis-3/configuration.html#settings

你可能感兴趣的:(mybatis)