mybatis清除一级缓存的几种方法

1、手动清空

sqlSession.clearCache()

2、Options注解

public interface UserMapper{
	@Options(flushCache= Options.FlushCachePolicy.TRUE)
	User selectById(@params("id")Integer id)
}

3、调用了修改的方法时,底层直接调用sqlSession.clearCache()一次性全部清空

4、在setting中关闭一级缓存

locaCacheScope = STATEMENT

5、手动提交/回滚

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring BootMyBatis框架可以很好地结合使用,并且支持二级缓存的配置和使用。 二级缓存MyBatis提供的一种缓存机制,用于缓存查询结果,减少数据库的访问次数,提高系统性能。它是基于Mapper级别的缓存,不同的Mapper之间的缓存互相独立。在配置和使用二级缓存时,需要注意以下几点: 1. 在Spring Boot的配置文件中,通过配置`mybatis.configuration.cache-enabled`属性来开启或关闭MyBatis的二级缓存,默认情况下是开启的。 2. 在Mapper接口对应的XML文件中,可以通过`<cache>`标签配置二级缓存的相关属性。例如: ```xml <cache eviction="LRU" flushInterval="60000" size="1024" readOnly="true"/> ``` - `eviction`属性表示缓存清除策略,常用的有LRU(最近最少使用)和FIFO(先进先出)。 - `flushInterval`属性表示缓存刷新间隔时间,单位为毫秒,默认值为不刷新(即0)。 - `size`属性表示缓存的最大容量,默认值为不限制。 - `readOnly`属性表示是否只读缓存,默认值为false。 3. 在需要使用二级缓存的Mapper接口上添加`@CacheNamespace`注解,表示该Mapper接口启用了二级缓存。例如: ```java @CacheNamespace public interface UserMapper { // Mapper方法定义 } ``` 注意:需要确保Mapper接口所在的包路径在MyBatis的扫描路径中,以使其被正确加载。 4. 在需要缓存的查询方法上添加`@Cacheable`注解,表示该方法的结果将被缓存。例如: ```java @Cacheable User getUserById(Long id); ``` 通过`@Cacheable`注解,可以指定缓存的key、缓存的条件等。 需要注意的是,二级缓存只适用于单个应用的情况,如果是分布式部署的多个应用,建议使用分布式缓存来替代二级缓存。此外,对于频繁写操作的数据,也不适合使用二级缓存。 以上就是关于Spring BootMyBatis二级缓存的简单介绍和配置方法。希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值