Mybatis中使用二级缓存

一级缓存默认存在

一级缓存是SqlSession范围的缓存,当调用SqlSession的修改,添加,删除,commit(),close()等方法时,就会清空一级缓存

二级缓存是mapper映射级别的缓存

多个SqlSession去操作同一个Mapper映射的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的

二级缓存的开启与关闭

第一步:在SqlMapConfig.xml文件开启二级缓存




因为cacheEnabled的取值默认就为true,所以这一步可以省略不配置。
为true代表开启二级缓存;
为false代表不开启二级缓存。

第二步:配置相关的Mapper映射文件标签表示当前这个mapper映射将使用二级缓存,区分的标准就看mapper的namespace值。






第三步:配置statement上面的useCache属性

select * from user where id = #{uid}

将UserDao.xml映射文件中的