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
闲来咱也写写日记,老是有人问为啥人家都有你没有伯克利!!!