MyBatis 二级缓存

  二级缓存指的是mybatis中SqlSessionFactory对象的缓存,由同一个SqlSessionFactory创建的SqlSession共享其缓存。

  它的结构是这样的,由SqlSessionFactory创建的若干个sqlsessin共享工厂内部的二级缓存。

   我们写出如下测试代码

   但我们看到依旧查询了两次,也就是说根本没有二级缓存

  那是因为要使用二级缓存需要三步走。

  第一步:让MyBatis框架支持二级缓存——在SqlMapConfig.xml中配置

  第二步:让当前的映射文件支持二级缓存——在IUserDao.xml中配置

  第三步:让当前的操作支持二级缓存——select标签中配置  

  •在全局配置文件里的settings里加入cacheEnabled,令其为真,当然其默认值也是真

  •在dao接口的xml文件加入代码

   •最后让操作支持

   然后我们运行一下测试类,可以看到第一次发起了查询,但第二次是直接从缓存里获取

   但我们输出了个false,那是因为二级缓存存放的是数据而不是对象

原文地址:https://www.cnblogs.com/qq2210446939/p/13629444.html