当前位置: 首页 > news >正文

蒙古文网站建设情况安徽新站优化

蒙古文网站建设情况,安徽新站优化,郑州哪家公司做网站好,舟山市建设工程质量监督站网站InnerInterceptor 接口是 MyBatis-Plus 提供的一个拦截器接口,用于实现一些常用的 SQL 处理逻辑。例如某个组件运作在多系统的平台上,不同系统需要隔离,于是可以通过这个拦截器接口,给每一条要执行的sql末尾拼接一个AND systemId …

InnerInterceptor 接口是 MyBatis-Plus 提供的一个拦截器接口,用于实现一些常用的 SQL 处理逻辑。例如某个组件运作在多系统的平台上,不同系统需要隔离,于是可以通过这个拦截器接口,给每一条要执行的sql末尾拼接一个AND systemId = "?"的条件来实现不同系统只能查到对应系统ID的数据。

具体玩法样例可以参考这个文章:

Mybatis-Plus实现拦截器接口InnerInterceptor

而今天项目遇到的一个bug情景如下:
所有的sql原本都要通过拦截器拼接这个校验系统ID的条件,但其中一条sql因为要查整个数据库中的数据是否有重复,所以就要去掉这个拼接的条件进而查询整个库表。这里我们之前已经有代码可以实现了,简单来说就是在拦截器里加个if,只有在满足if条件后才去拼接条件sql。
然而复制了之前能跳过拦截器的方法去开发这次的新需求,却非常意外的没能生效,sql语句还是把校验systemId的条件给拼接进去了。打了断点也摸不着头脑,明明代码是一模一样的呀,接收到的参数也是满足跳过拦截条件的,为什么还是会被拦截了呢?

在这里插入图片描述

其实标题已经算剧透了,大伙心里应该都有数了吧?那就来详细说说找出问题的步骤:


先是把断点打到了selectOne前后,发现日志没打印sql,然而依然获取到了查询结果的对象,这是怎么一回事?

继而把断点打到拦截器里,发现在执行这条mybatis-plus的方法时根本就没进拦截器,断点没捕获到。

此时就有很多种猜测了,甚至还猜想过会不会和service层加了事务有关

不过最终的正解是由于mybatis的缓存机制,因为我在该方法里执行这条查询sql前已经执行过一遍相同的sql了(目的是先查询一遍加了systemId校验的,再查一遍全表的),所以mybatis的缓存机制生效,直接将已缓存的sql包括结果直接返回了,所以压根就没执行这条想查全表的sql,故而别说拦截器里的if是否判断了,就连进都没进来,这就是拦截器里断点没捕获到的原因。


解决方法:

1、配置文件中加上
# propertiesmybatis.configuration.local-cache-scope=statement
# yamlmybatis:configuration:local-cache-scope: statement

关闭mybatis的一级缓存

ps:金融行业不适合使用这个一级缓存,容易出现数据不一致,也没提升多少性能

2、在不能关闭一级缓存的情况下,重新写一条结果一样但内容不一样的sql

sql有差别就不会走缓存机制了。比如你之前的sql是用mybatis生成的,这里就直接用Mapper手写一条


THX!

http://www.dt0577.cn/news/5175.html

相关文章:

  • 成都建设工程交易中心网站青岛关键词优化报价
  • 衡水网站建设私人网站服务器
  • wordpress全站使用cdn百度舆情
  • 网站建设专业就业前景全国疫情最新数据
  • 网站建设免费发布网络营销的应用研究论文
  • 企业网站建设一般包含哪些内容关键词首页优化
  • 棋牌网站开发整站优化服务
  • 做网站的经历感想竞价托管服务公司
  • 洛杉矶网站建设网络营销教程
  • 网站常见程序问题如何设计企业网站
  • 网站开发之美 pdf网页设计首页
  • 不能制作网页的软件是微博关键词排名优化
  • 机关网站制度建设微网站建站平台
  • 58做网站吗外链图片
  • 网站开发的硬件设备有网站开发报价方案
  • 全部网站360优化大师官方官网
  • 建个商场网站北京效果好的网站推广
  • 独立站建设公司企业如何建立网站
  • 荣县网站建设阿森纳英超积分
  • 滑县网站建设报价百度seo排名优化费用
  • 做网站需要下载啥在线外链工具
  • 怎么做记步数的程序到网站地推拉新接单平台
  • 做食品怎样选网站网络营销是做什么
  • 网站字头优化网站关键词排名批量查询
  • 温州商城网站建设常熟网络推广
  • 找广告商的平台合肥seo报价
  • 深圳市建设局质监站官方网站淘宝客推广
  • 自已建网站东莞做网站最好的是哪家
  • 做网站准备材料网络宣传推广方法
  • 购物网站数据分析温州seo博客