springboot+mybatis 开启二级缓存

本文详细介绍了MyBatis中二级缓存的配置与使用方法。包括如何在数据源配置中启用缓存,通过@CacheNamespace注解或在mapper.xml中使用<cache>标签来指定缓存作用域,以及如何在实体类中实现序列化以支持缓存。同时,文章还提到了插入、更新和删除操作会清空所在命名空间下的全部缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mybatis 二级缓存在数据没有更新修改的情况下默认保存的作用域namespace


1 首先要在引入数据源的地方添加开启mybatis缓存
 

 // 读取配置
        sqlSessionFactoryBean.setTypeAliasesPackage("com.*.*.*.model");
         //-----------------------mybatis second cache start------------------------------
        org.apache.ibatis.session.Configuration ibatisConfiguration = new org.apache.ibatis.session.Configuration();
        ibatisConfiguration.setCacheEnabled(true);
        sqlSessionFactoryBean.setConfiguration(ibatisConfiguration);
	//-------------------------mybatis second cache end----------------------------
        //设置mapper.xml文件所在位置
        Resource[] resources = new PathMatchingResourcePatternResolver().getResources("classpath:com/*/*Mapper.xml");
        sqlSessionFactoryBean.setMapperLocations(resources);

2 然后

          1)当sql写在mybatis 注解里面 则在对应的类上加@CacheNamespace注解 标记未开启二级缓存
          2) 当时xml文件配置sql 则只要在对应的mapper.xml 文件mapper标签内加入<cache></cache> 当有的方法禁用二级缓存则对应的<select ... useCache="false">加入
 useCache="false"属性

 3 最后要实现二级缓存的实体类必须实现序列化  implements Serializable
:只能在【只有单表操作】的表上使用缓存
insert,update,delete操作会清空所在namespace下的全部缓存。 
最后 最好不要用二级缓存 建议只是测试使用

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值