原生mysql与mybatis执行update语句的差异

news2024/11/16 18:10:50

在做一个解除绑定的接口中,发现了这个一个问题:
        连续对接口进行测试,发现一直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​​​​​​​

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用的主流音乐编曲软件有哪些?

FL Studio是一款备受音乐人喜爱的超强编曲软件。最新的FL Studio版本将所有音频形式都视为采样,使得它在各个领域都有出色的表现。该软件操作简单,界面友好,非常适合新手全面学习和使用。此外,FL Studio完美支持Windows和Mac操作系…

内存-虚拟地址到物理内存地址转换

虚拟地址的位数 [rootnew ~]# cat /proc/cpuinfo | grep virtu | tail -1 address sizes : 46 bits physical, 48 bits virtual 高性能C之虚拟内存_哔哩哔哩_bilibili 第零层,每一项是4KB 512个4KB是2MB,第一层,每一项是1GB 512个2MB是…

✔ ★【备战实习(面经+项目+算法)】 10.27学习

✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…

CVE-2022-32991靶场复现

靶场环境: 题目提示了该CMS的welcome.php中存在SQL注入攻击。 CVE官方给出的提示: welcome.php页面存在SQL注入,并且这个参数是eid 打开靶场环境: 页面是一个登陆注册的界面 用户注册: 1 010.com 123456 123456 点击Re…

多线程---认识线程

文章目录 什么是进程?如何管理进程?认识PCB了解进程调度的过程虚拟地址空间 什么是线程?进程 VS 线程Thread类的属性和方法Thread类的属性Thread类的方法构造方法普通方法 线程的状态 什么是进程? 进程,也叫做“任务”…

ZooKeeper中节点的操作命令(查看、创建、删除节点)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

LLVM学习笔记(56)

4.1.4. DAG合并与合法化 来自SelectionDAGBuilder的SelectionDAG输出还不能进行指令选择,必须通过额外的转换——显示在上图。在指令选择前应用的遍序列如下: 匹配一组节点,在有利时使用更简单的构造来替换它们,DAG合并遍优化Se…

信息学奥赛一本通2061:【例1.2】梯形面积

2061:【例1.2】梯形面积 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 172550 通过数: 68183 【题目描述】 在梯形中阴影部分面积是150平方厘米,求梯形面积。 【输入】 (无) 【输出】 输出梯形面积(保留两位小数&a…

产品经理必看!提升效率的9款工具盘点,你都用过哪些?

产品经理是一款产品的灵魂人物,除了洞察用户需求和制定解决方案,每天还要腾出精力来协调各种资源,对接产品用户和内部多个部门,推动产品持续向前迭代。无论如何安排时间,大多数产品经理都没有足够的时间来处理他们的任…

本机spark 通idea连接Oracle的坑

1. 报错:Exception in thread "main" java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V 查询网上资料,是idea引入的scala运行环境版本与idea默认的scala版本不一样 也就是写的项目中的pom的spark版本与idea默认的版本不…

虚拟机安装openEuler系统

openEuler操作系统简介: openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其他多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大…

MySQL主从复制(基于binlog日志方式)

目录 一、什么是主从复制?二、主从复制原理、存在问题和解决方法2.1.主从复制原理2.2.主从复制存在的问题以及解决办法2.3.主从复制的同步模型2.4.拓展—Mysql并行复制 三、主从复制之基于binlog日志方式3.1.bin-log日志简介3.2.bin-log的使用3.2.1.开启binlog3.2.2…

软考系统架构师知识点集锦三:软件架构设计

一、考情分析 二、考点精讲 2.1软件架构的概念 2.1.1什么是架构(暂无定论) 架构设计就是需求分配,即将满足需求的职责分配到组件上。 软件架构风格是描述某-特定应用领域中系统组织方式的惯用模式。架构风格定义-个系统家族,即一个体系结构定义一个词汇表和一组约…

项目沟通管理案例题

1.规划沟通管理 没进行规划沟通管理 沟通管理计划不能一人制定 沟通管理计划内容不全 沟通管理计划完成后没有邀请有关干系人确认评审 制定沟通管理计划没有结合项目实际情况,只参考了以往的文件制定 项目经理对沟通管理经验不足 2.管理沟通 没做管理沟通 …

ps2024滤镜插件Portraiture

Photoshop 是最常用到的综合性的设计工具,虽然PS一直在迭代升级,但是在细节功能上,PS总是无法完全满足全部所有的用户需求,今天coco玛奇朵推荐一个个截至目前最受欢迎的免费的PS插件,有了这些功能扩展的插件后PS如虎添…

DC电源模块高功率元器件的散热问题

BOSHIDA DC电源模块高功率元器件的散热问题 随着电子产品的普及和发展,DC电源模块的应用越来越广泛,而高功率元器件的散热问题也变得日益重要。这是因为高功率元器件在工作时会消耗大量的电能,产生大量的热量,如果不能及时有效地…

第四章 文件管理 九、文件系统的层次结构

目录 一、层次结构图 二、例子 一、层次结构图 二、例子 用一个例子来辅助记忆文件系统的层次结构: 假设某用户请求删除文件“D:/工作目录/学生信息..xlsx”的最后100条记录。 1.用户需要通过操作系统提供的接口发出上述请求―一用户接口 2.由于用户提供的是文…

基于STM32室内空气净化监测系统设计

**单片机设计介绍,1649基于STM32室内空气净化监测系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序程序文档 六、 文章目录 一 概要 信息时代的进步,我们的生活潜移默化中发生了许多改变,物联网作为一个 陌生但…

4.1 数据库安全性概述

思维导图: 前言: - **第一章回顾**:数据库特点 - 统一的数据保护功能,确保数据安全、可靠、正确有效。 - 数据保护主要涵盖: 1. **数据的安全性**(本章焦点) 2. 数据的完整性(第…

『第七章』翩翩起舞的雨燕:顺序与并发执行

在本篇博文中,您将学到如下内容: 1. 顺序执行2. 主线程 Main Thread 的秘密3. 并发执行:GCD 与分发队列(DispatchQueue)4. 延时执行5. 数据竞争(Data Race)6. 线程间的同步7. 避免线程爆炸8. RunLoop 与定时器总结楚客自相送,沾裳春水边。 晚来风信好,并发上江船。 花映…