mybatis中执行update字段值不变的情况下,返回值却是1

1.需求分析

    近期,笔者在测试编程式事务的时候发现了一个问题:在测试接口中执行mybatis的update时,字段值设置不变,却返回还是1;这样的结果直接导致了编程式事务的原子性捕获形同虚设,好了笔者分享如下的解决方案

2.实现方案

①问题描述:在mysql客户端,笔者这里用的是navicat,在不修改字段值的情况下执行update时,返回的是0,但在mybatis中返回的却是1

②解决方案

在数据库连接url后缀追加userAffectRows=true

#测试服务器数据库
jdbc.url = jdbc:mysql://localhost:3306/online_copy?useUnicode=true&useSSL=false&useAffectedRows=true
jdbc.username = root
jdbc.password = root

userAffectRows:表示是否用受影响的行数替代匹配查找到的行数来返回数据,也就是查找到了,但不一定真正修改了,在musql中默认设置为false,所以这里把这个字段设置为true,返回受影响的行数即可;

好了,我是张星,欢迎加入博主技术交流群,群号:313145288

猜你喜欢

转载自blog.csdn.net/zhangxing52077/article/details/80662696