MyBatis 二级缓存的开启与配置
mybatis一级缓存
mybatis一级缓存是默认开启的,是SqlSession级别的缓存,在操作数据库的时候需要创建一个SqlSession,
其中有一个HashMap,用于存储缓存数据。
不同的SqlSession之间,其缓存数据的HashMap是不同的;
所以当我们多次调用同一个Mapper和同一个方法的同一个参数,只会进行一次数据库查询,
然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。
但是不同的SqlSession对象,因为不用的SqlSession都是相互隔离的,所以相同的Mapper、参数和方法,
他还是会再次发送到SQL到数据库去执行,返回结果。
所以我们需要根据需求开启二级缓存
mybatis二级缓存
二级缓存是Mapper级别的缓存,多个SqlSession去操作同一个Mapper中的SQL语句,
则这些SqlSession可以共享二级缓存,即二级缓存是跨SqlSession的。
首先在mybatis配置文件的节点中 配置整体开启二级缓存。
<settings>
<!-- 开启日志 --