码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 原生mysql与mybatis执行update语句的差异


    在做一个解除绑定的接口中,发现了这个一个问题:
            连续对接口进行测试,发现一直fan返回解除成功,但是逻辑上应该是解除之后,在解除它后就应该回显已解除绑定才对

    就一直找原因,sql中使用的是mybatis的update进行的一个逻辑删除

    然后将update的结果与0比较嘛,大于0,说明更改并影响了一条记录,则返回true

    第二次执行update后,影响行数应该是0对吧,与0进行比较应该返回false,但是偏偏就是返回的true,说明什么,说明他有影响行,但是我使用原生的mysql写sql测试,影响行数就是为0.

     

    至此我真是百思不得其解,反复地查找资料,最后终于找到了原因。

    以下是我从这个博主的帖子找到的原因,写的很清楚。

    重大补充:最近发现update操作使用返回的的影响行数来判断操作成功与否,有时候还与第三方持久化框架有关
           使用原生的sql(或者mysql) 重复请求update操作的时候,如 update test set cid = ‘5244’;执行两次的时候发现,update返回影响行数为0
    但是使用mybatis的时候,结果却不是这样的,执行两次的时候,发现update返回的影响行数始终是1。 spring + mybatis  方法 update 的返回值 默认:是 Rows matched 不是 rows affected(或者Changed)。后面跟踪发现,原来mybatis这个第三方持久化框架返回来的是被匹配的影响行数,所以返回的始终是1,那如果想要以返回的行数作为判断结果,需要在mybatis连接数据库的时候加上参数,
    jdbc:mysql://${jdbc.host}/${jdbc.db}?useAffectedRows=true

    获取matched行数
    默认情况下,返回的就是matched 行数。也就是查询条件匹配的行数
    -----------------------------------
    mysql update 返回更新结果 sql更新并返回
    https://blog.51cto.com/u_16099336/7307246​​​​​​​

  • 相关阅读:
    【ARM Trace32(劳特巴赫) 使用介绍 2 - Veloce 环境中使用trace32 连接 Cortex-M33】
    机器人代码生成器之Robcogen使用教程
    记录前端通过XShell和xftp发布版本
    你知道有哪些类型的接口吗?
    手机进销存软件在企业中的应用
    天才制造者:独行侠、科技巨头和AI|深度学习崛起十年
    CSS常见布局方式
    华为---MSTP(一)---MSTP生成树协议
    Codeforces刷题记录(tag: chinese remainder theorem 873 ~ 1073)
    Spring Boot发送HTML邮件时如何设置模板?
  • 原文地址:https://blog.csdn.net/qq_42807952/article/details/134081364
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号