首页 > 其他分享 >MyBatis如何关闭一级缓存(分注解和xml两种方式)

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

时间:2024-11-08 22:29:51浏览次数:1  
标签:xml 缓存 一级 关闭 sql MyBatis 注解 id

@

目录

问题:为什么有缓存

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()

会议详情

重要信息

大会介绍

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

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

标签:xml,缓存,一级,关闭,sql,MyBatis,注解,id
From: https://www.cnblogs.com/bigcat26/p/18536058

相关文章

  • MyBatis Plus之注解实现动态SQL
     参考下面的sql语句即可实现@Select("<script>"+"selectgp.TEWRTYR,gp.FJFNM,gs.CVNNN,u.VCNBMBNV,gp.RAEER,gr.BVNCCVN\n"+"fromUPPBHTu\n"+"leftjoinGP_testgp\n"+......
  • Mybatis 延迟加载的实现原理
    一、MyBatis延迟加载的支持1.延迟加载的配置在MyBatis中,延迟加载可以通过全局配置和局部配置来实现:全局配置:可以在MyBatis的配置文件中进行设置,控制全局的延迟加载行为。<configuration><settings><settingname="lazyLoadingEnabled"value="true......
  • 【客户投诉系统】 Sringboot+vue+soap+activiti+mybatis+element-ui
    [!NOTE]分享课程系统,客户平台投诉系统主要框架:Springboot,mybatis,Activiti,soap,Element-UI,Vue主要功能:用户可以对不同的平台,例如美团、学习通、饿了么等进行投诉(Springboot,mybatis),工作管理员会对该投诉信息进行审批(Activiti),若审批通过,通过soap服务传递给对应......
  • CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro
    说明此文章为转发的,方便日后查看。系统演示环境http://www.cc-admin.top/#/home简介CC-ADMIN前端简介现在市面的上后台管理系统很多,不差你这一个,为啥又来个轮子?答:材料不一样。本轮子的选材是在考察过antv、element之后选择了quasar,前两个很优秀,尤其是antv的外观我特......
  • Mybatis框架入门
    IDEA使用Maven部署第一个MyBatis项目,两种方法导入,一个是Jar包的形式,此形式用于初学者学习并完成学校实训作业,第二种则是通过pom.xml文件引入依赖从而避免了从官网下载jar包等问题。一、创建一个Maven工程:File-->New-->projcet-->Maven二、导入以下Jar包:New-->ProjcetStruc......
  • 【Mysql】Mysql 有几级缓存?每一级缓存,具体是什么?
     Mysql有几级缓存?每一级缓存,具体是什么?转载:======https://mp.weixin.qq.com/s/fyMiy4G1Fa7laUSbydiHsA本文目录- 一、MySQL缓存机制概述- 二、MySQL整体架构  -1.解析器(Parser)  -2.优化器(Optimizer)  -3.执行器(Executor)  -三个核心组件之间的交互......
  • 十一 MyBatis查询语句专题
    十一、MyBatis查询语句专题模块名:mybatis-007-select打包方式:jar引入依赖:mysql驱动依赖、mybatis依赖、logback依赖、junit依赖。引入配置文件:jdbc.properties、mybatis-config.xml、logback.xml创建pojo类:Car创建Mapper接口:CarMapper创建Mapper接口对应的映射文件:co......
  • 十五 MyBatis的逆向工程
    十五、MyBatis的逆向工程所谓的逆向工程是:根据数据库表逆向生成Java的pojo类,SqlMapper.xml文件,以及Mapper接口类等。要完成这个工作,需要借助别人写好的逆向工程插件。思考:使用这个插件的话,需要给这个插件配置哪些信息?pojo类名、包名以及生成位置。SqlMapper.xml文件名以......
  • 十四 MyBatis的缓存
    十四、MyBatis的缓存缓存:cache缓存的作用:通过减少IO的方式,来提高程序的执行效率。mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直接从缓存中取,不再查数据库。一方面是减少了IO。另一方面不再执行繁琐的查找算法。效率大大提升。my......
  • 十三 MyBatis的高级映射及延迟加载
    十三、MyBatis的高级映射及延迟加载模块名:mybatis-009-advanced-mapping打包方式:jar依赖:mybatis依赖、mysql驱动依赖、junit依赖、logback依赖配置文件:mybatis-config.xml、logback.xml、jdbc.properties拷贝工具类:SqlSessionUtil准备数据库表:一个班级对应多个学生。......