update是什么update语句的返回值是什么
执⾏⼀条update语句,执⾏成功后返回值是 1 ,所以就理所当然的认为返回的是受影响的⾏数,
但是当你再次执⾏这条update语句时,按正常的逻辑,数据已存在,更新不会成功,应当返回 0,但是返回值依旧
是 1 (已测试过),所以返回值并不是受影响的⾏数,查看别⼈的⽂章,得知返回值是matched记录数(匹配到的⾏数)
如果想设置返回值是受影响的⾏数,修改数据库链接配置:增加 useAffectedRows=true 即可
数据库链接配置为:
jdbc.sql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=123456
真的是这样吗
我们知道当数据库中的记录被修改之后,我们在次执⾏相同的 update 语句将不会影响到数据记录⾏数。
并不是这样的
么有没有办法让 mybatis 的 update 操作的返回值是受影响的⾏数呢。因为我们业务逻辑中有时会根据这个返回值做业务判断。答案当然是有的。
修改数据库链接配置为:增加了 useAffectedRows 字段信息。
jdbc.sql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useAffectedRows=true
jdbc.username=root
jdbc.password=123456
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论