springboot 自动开启了mybatis一级并支持二级缓存,mybatis的一级(session)和二级缓存(mapper-namespace)概念请自行了解。
接下来介绍下应用中如何配置开启和应用二级缓存:
1、在springboot 项目开发中首先pom.xml中添加mybatis依赖,我这里用的是通用mapper(和一般有所区别下面提到):

2、yml配置开启二级缓存:
mybatis:
configuration:
cache-enabled: true #开启应用mybatis二级缓存(mapper-namespace)
(ps:xml方式:mybaits-config.xml <settings><!-- 开启二级缓存,默认是false --><setting name="cacheEnabled" value="true"/</settings>)
3、对象实现 java.io.Serializable,进行缓存和提取缓存数据需要进行序列化和反序列化(缓存在内存或硬盘)

4、在mapper接口添加应用缓存注解

(ps:xml方式 xxxxMapper.xml文件中使用<cache/>块,如果使用了通用mapper插件需要修改为<cache-ref namespace="....xxxMapper"/>,并在Mapper类使用注解@CacheNamespace)
4. 没有写单元测试,直接service 和controller
service如下

Controller如下

5、添加配置前测试结果:

两次查询输出sql
6、添加配置后测试结果: 缓存起作用第二次查询 从缓存取数据,Cache HIt Ratio

闲来咱也写写日记,老是有人问为啥人家都有你没有伯克利!!!
SpringBoot整合MyBatis二级缓存
6708

被折叠的 条评论
为什么被折叠?



