MyBatis关闭一级缓存的两种方式(分注解和xml两种方式)
作者:刘大猫. 时间:2023-09-02 10:18:59
问题:为什么有缓存
mybatis默认开启一级缓存
什么场景下必须需要关闭一级缓存
场景:执行2次相同sql,但是第一次查询sql结果会加工处理,比如解析铭文,或者反编译加密解密用户名/密码字符串等等,如果不关闭一级缓存,等第二次再查询相同sql时不会去数据库表重新查询,而是直接使用缓存,从而导致后面拿到的不是原始数据而处理出错
关闭一级缓存方法(针对使用MyBatis场景)
第一种:xml形式(关闭所有一级缓存)
<settings>
<setting name="cacheEnabled" value="false"/>
</settings>
第二种:注解形式(可指定仅仅某个Mapper关闭注解)
@Options(flushCache = Options.FlushCachePolicy.TRUE)
@Select("select * from ge_jdbc_datasource where id = #{id,jdbcType=BIGINT} and status = 1")
@ResultMap("resultMap")
JdbcDataSource find(Long id);
第三种:sql动态拼接传入的随机数
比如sql传参random()数值 或者 sql传入当前时间毫秒数,切记一定要从方法形参传过去而不要在sql中拼写,否则无效
举例说明:下面方式无效
select id from ge_jdbc_datasource where id = 1 and STATUS = 1 AND NOW()=NOW()
来源:https://blog.csdn.net/a924382407/article/details/117962353
标签:MyBatis,关闭,缓存
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android 实现永久保存数据的方法详解
2023-06-23 22:13:23
解决使用IDEA时跳转到.class的问题
2022-07-12 20:46:37
![](https://img.aspxhome.com/file/2023/3/89593_0s.jpg)
java按字节截取带有汉字的字符串的解法(推荐)
2022-10-08 23:49:49
Spring Cloud 使用 Resilience4j 实现服务熔断的方法
2021-11-09 12:36:10
![](https://img.aspxhome.com/file/2023/7/119777_0s.png)
SpringBoot @PostConstruct原理用法解析
2022-02-02 18:05:46
OpenCV画任意圆弧曲线
2023-06-22 19:28:44
![](https://img.aspxhome.com/file/2023/5/94045_0s.jpg)
C#中POST接口formdata传参模板的记录
2022-03-30 01:58:50
SpringBoot整合Kafka工具类的详细代码
2022-07-03 14:12:13
百度地图API提示230 错误app scode码校验失败的解决办法
2022-02-17 11:48:10
![](https://img.aspxhome.com/file/2023/3/109173_0s.png)
Android string.xml中的替换方法
2021-11-10 11:47:56
maven创建spark项目的pom.xml文件配置demo
2023-11-02 01:14:02
Android 自定义ProgressDialog进度条对话框用法详解
2022-02-14 19:31:04
![](https://img.aspxhome.com/file/2023/2/95002_0s.png)
java字节码框架ASM的深入学习
2023-11-29 05:51:19
图文详解Java中的序列化机制
2021-06-15 12:11:49
![](https://img.aspxhome.com/file/2023/9/77059_0s.png)
android自定义View实现简单五子棋游戏
2022-09-16 14:52:30
![](https://img.aspxhome.com/file/2023/1/126681_0s.jpg)
Java 类加载机制详细介绍
2023-12-19 13:55:59
![](https://img.aspxhome.com/file/2023/6/75676_0s.png)
Android之利用EventBus发送消息传递示例
2022-11-02 08:25:21
![](https://img.aspxhome.com/file/2023/0/129040_0s.gif)
springboot+spring data jpa实现新增及批量新增方式
2023-01-27 03:45:53
Android 自定义View之边缘凹凸的优惠券效果的开发过程
2021-12-30 07:25:10
![](https://img.aspxhome.com/file/2023/1/138601_0s.png)
c#中LINQ的基本用法(三)
2022-11-29 11:06:31
![](https://img.aspxhome.com/file/2023/0/91300_0s.png)