mybatis中执行,update函数,那么这个函数的返回值是matched(匹配的)行数还是changed(受影响的)行数呢?
默认情况下是matched记录数,并不是changed记录数
有什么区别吗?一般情况下二者相同,但是有例外,例如 update table set name ‘zhagnsan’ where name=‘zhagnsan’ ,由于name没有发生变化,实际上不会真的执行,那么matched记录数=1,changed记录数=0
如何让其返回值为受影响(changed)的记录数呢?
只需在mysql数据连接url参数加useAffectedRows=true即可
jdbc.url=jdbc:mysql://localhost:3306/ssm?useAffectedRows=true
本文详细介绍了MyBatis中update函数的返回值,默认返回匹配的行数,而非受影响的行数。在特定情况下,如更新后的值未改变,可能matched与changed不一致。通过在MySQL连接URL中设置useAffectedRows=true,可以改为返回受影响的记录数。此设置对于确保更新操作的正确跟踪至关重要。


被折叠的 条评论
为什么被折叠?



