当前使用版本

mybatis-plus-boot-starter 3.5.1 mybatis-plus-generator 3.5.1

环境

springboot项目 jdk8 Eclipse

重现步骤

  1. 使用FastAutoGenerator生成器,配置了策略配置下的mapperBuilder().cache(RedisCache.class); 执行生成器,生成了对应的相关文件,在mapper.xml文件中,有代码
<!-- 开启二级缓存 -->
<cache type="cn.xxx.config.RedisCache"/>
  1. 在application.yml中配置mybatis-plus.configuration.cache-enabled: true 开启二级缓存
  2. RedisCache实现Cache接口并实现方法
  3. 在Controller中写个查询接口查询数据 运行项目后多次调用接口,结果:无二级缓存应用,redis中也没有数据

但是,如果去除步骤2中mapper.xml文件里的代码,然后在生成的mapper.java接口类上添加注解

@CacheNamespace(implementation = RedisCache.class, eviction = RedisCache.class)

再重新运行项目多次调用接口,可以看到有二级缓存日志,redis中也有了缓存数据

Comment From: miemieYaho

https://github.com/mybatis/spring/issues/62