MyBatis如何关闭一级缓存(分注解和xml两种方式)

news/2024/11/8 22:40:42/文章来源:https://www.cnblogs.com/bigcat26/p/18536058

@

目录
  • 问题:为什么有缓存
  • 什么场景下必须需要关闭一级缓存
  • 关闭一级缓存方法(针对使用MyBatis场景)
    • 第1种:注解形式(可指定仅仅某个Mapper关闭注解)
    • 第2种:sql动态拼接传入的随机数

问题:为什么有缓存

mybatis默认开启一级缓存

什么场景下必须需要关闭一级缓存

场景:执行2次相同sql,但是第一次查询sql结果会加工处理,比如解析铭文,或者反编译加密解密用户名/密码字符串等等,如果不关闭一级缓存,等第二次再查询相同sql时不会去数据库表重新查询,而是直接使用缓存,从而导致后面拿到的不是原始数据而处理出错

关闭一级缓存方法(针对使用MyBatis场景)

第1种:注解形式(可指定仅仅某个Mapper关闭注解)

@Options(flushCache = Options.FlushCachePolicy.TRUE)

@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);

第2种:sql动态拼接传入的随机数

比如sql传参random()数值 或者 sql传入当前时间毫秒数,切记一定要从方法形参传过去而不要在sql中拼写,否则无效

举例说明:下面方式无效

select id from ge_jdbc_datasource where id = 1 and STATUS = 1 AND NOW()=NOW()

会议详情

重要信息

  • 大会官网:https://ais.cn/u/vEbMBz

大会介绍

据统计,我国常住人口城镇化率超过65%,部分城市城镇化率超过90%,未来预计还会不断提升。城市建设行业的发展仍处于蓬勃发展的时期。但和此前不同,如今我们需要更高质量的城市建设,以缓和发展中带来的交通、土地、人口等问题。由此将产生非常多值得探讨的学术内容。

为了给该领域的专家学者提供一个交流、分享的平台,第二届城市建设与交通运输国际学术会议将于2025年1月17-19日在长春举办。会议主要围绕城市建设以及其中的交通运输内容展开讨论。诚邀广大专家学者与会交流,投稿分享学术成果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/829066.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一下 Win11 下自编译 Ollama 本地运行 llama3.1

运行环境Windows 11(显卡 AMD Radeon RX 6650 XT)VS Code(用于查找特定代码,在 gfx1030 附近添加 gfx1032)GitGo 版本 $ go version go version go1.23.3 windows/amd64MinGW (编译需要 make 命令) $ make -v GNU Make 4.4.1 Built for x86_64-w64-mingw32 Copyright (C) …

记录一下 Win11 下编译 Ollama 本地运行 llama3.1

记录一下 Win11 下自编译 Ollama 本地运行 llama3.1 运行环境Windows 11(显卡 AMD Radeon RX 6650 XT)VS Code(用于查找特定代码,在 gfx1030 附近添加 gfx1032)GitGo 版本 $ go version go version go1.23.3 windows/amd64MinGW (编译需要 make 命令) $ make -v GNU Make …

解决Mac M芯片 Wireshark 运行rvictl -s 后,出现Starting device failed

前言 mac os big sur 之后,苹果系统的安全性能提升,导致 rvictl -s 创建虚拟网卡失败。 $ rvictl -s 000348120-001621w21184C01E bootstrap_look_up(): 1102Starting device 000348120-001621w21184C01E [FAILED]这是由于 rvictl 需要开启系统扩展才能使用,但是 M 芯片的 M…

2024-2025-1 20241312 《计算机基础与程序设计》第7周学习总结

|这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计| |这个作业要求在哪里|2024-2025-1计算机基础与程序设计第七周作业| |这个作业的目标|①数组与链表 ②基于数组和基于链表实现数据结构 ③无序表与有序表 ④树 ⑤图 ⑥子程序与参数| |作业正文|https://www.cnblogs.co…

Oracle 存储过程分页 + Sqlsugar调用

一、Oracle 存储过程分页1 create PROCEDURE GetPatientVisitData(2 p_HospId IN VARCHAR2, -- 院区编码3 p_strDate IN VARCHAR2, -- 开始日期4 p_endDate IN VARCHAR2, -- 结束日期5 p_page_size IN NUMBER, -- 每页记录数6 p_page_number IN NUMBER, --…

初次使用 Jetbrains Rider 编写 C#(.Net) 代码

Jetbrains Rider 使用前段时间,Jetbrains公司 公布了 Rider IDE 对非商业用途免费,看到很多业界的朋友都用到这个IDE,今天便下载下来使用一下。 1、界面的差异 Rider的界面跟我前段时间学习调试安卓代码的 Android Studio 的界面很像,布局几乎是一样的。 使用习惯了 Visua…

这些实时互动 AI 场景正在涌现生长,也预示着多模态 AI 的未来|RTE2024 声网CEO赵斌演讲实录

10月25日,在 RTE2024 第十届实时互联网大会主论坛上,声网创始人兼 CEO 赵斌发表了《实时互动十年:从 WebRTC 到生成式 AI 时代的 RTE 》主旨演讲。赵斌认为,生成式 AI 正在驱动 IT 行业发生大变革,这一趋势主要体现在四个层面:终端、软件、云以及人机界面。在这样的时代背…

2024网鼎杯-初赛-青龙组

初赛-青龙组题目附件下载: https://pan.baidu.com/s/1VbieB2XhNYtRqfBeLxguYw?pwd=c03iMisc misc02 ​​生蚝:foremost分离,zsteg对最大的png,得到Y3p_Ke9_1s_????? 搜7z找到压缩包,然后掩码爆破,得到flag.txt,然后写脚本爆破。得到字符串我们先用 foremost 分离题…

闲话 11.8

杂项乱写 11.8别问为啥这么晚才写,因为一天都不知道在干啥,要寄的节奏。11.7 晚轮到 CTH 写字Ratio:程立雪?啥意思,程门立雪?门呢? CTH:让我创掉了。上午把昨天晚上想到的题出了出来,见此。 由于 5k 们要打 nfls,所以只能找团委了,过了 hack 之后直接拿 \(\mathcal{…

Hive的搭建

一、上传解压配置环境变量 1.解压 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C ../2.配置环境变量 vim /etc/profile3、重命名 mv apache-hive-3.1.2-bin hive-3.1.24.使环境变量生效 source /etc/profile 二、修改配置文件 1.拷贝一份文件 cp hive-default.xml.template hive-…

自动泊车端到端算法 ParkingE2E 介绍

01 算法介绍 自主泊车是智能驾驶领域中的一项关键任务。传统的泊车算法通常使用基于规则的方案来实现。因为算法设计复杂,这些方法在复杂泊车场景中的有效性较低。 相比之下,基于神经网络的方法往往比基于规则的方法更加直观和多功能。通过收集大量专家泊车轨迹数据,基于学习…