MyBatis的update返回值改为受影响的行数

MyBatis的update返回值改为受影响的行数

一、背景:

项目中经常通过update的SQL语句进行更新数据,而在目前的框架中,mybatis是主流的框架,所以理解update的真实的返回值也显得相当重要;

二、update的返回值的真实意义:

在项目中,经常通过判断update的返回值去判断数据是否更新成功,而事实上update是我们理解的那样吗?这里直接给我结论,update的原生返回值是通过更新检索条件,匹配的行数,而并不是影响的行数 ;

匹配的行数与影响的行数区别:
  • 匹配的行数即,相当于select, 你一直查,永远返回的相当于那几个返回的结果,即匹配的行数
  • 影响的行数即,对数值的修改,所改变的表内数据的行数;

三、怎么修改?

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useAffectedRows=true
jdbc.username=root
jdbc.password=root

主要就是 :useAffectedRows=true

互相学习,若有问题烦请补充!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MyBatis 的 delete 操作返回值是一个整数,表示被删除的记录数。通常情况下,如果返回值为 0 则表示删除失败,否则表示成功删除了相应数量的记录。你可以通过调用 SqlSession 的 delete() 方法执 delete 操作,并根据返回值判断操作是否成功。例如: ``` int count = sqlSession.delete("com.example.mapper.UserMapper.deleteUserById", userId); if (count > 0) { System.out.println("成功删除 " + count + " 条记录!"); } else { System.out.println("删除操作未生效!"); } ``` 在上面的例子中,我们执了一个名为 "com.example.mapper.UserMapper.deleteUserById" 的 delete 操作,并传递了一个 userId 参数。delete 操作返回的整数值被赋值给 count 变量,然后根据 count 的值打印相应的提示信息。 ### 回答2: MyBatis的delete返回值是一个整数,表示删除记录的影响行数。这个整数可以用来判断删除操作是否成功,如果返回值大于0,则表示删除成功,否则表示删除失败。 在MyBatis的delete方法执完毕后,会根据执的SQL语句影响到的记录数量,将删除的记录数量作为返回值返回给调用者。如果SQL语句的执没有引起任何影响,可能是删除条件不满足或者没有匹配的记录,此时返回值为0。 可以根据返回影响行数来进一步判断是否执了预期的删除操作。如果返回值为1,表示成功删除了一条记录;如果返回值大于1,表示成功删除了多条记录。 利用返回值,我们可以根据具体业务需求来做一些后续处理,比如更新缓存、刷新页面等。 总之,MyBatis的delete返回值为一个整数,用于表示删除操作的影响行数,通过返回值可以判断删除是否成功以及具体删除了多少条记录。 ### 回答3: MyBatis的delete方法在执删除操作后,会返回一个整数值,表示删除的行数。这个返回值用于判断删除操作是否成功。 如果返回值大于0,表示删除成功,并且返回的整数值为实际删除的行数。 如果返回值等于0,表示没有符合条件的数据被删除。 如果返回值小于0,表示删除操作失败。 通过这个返回值,我们可以判断删除操作是否执成功,并根据需要进相应的后续处理。例如,可以根据返回行数决定是否提交事务、更新缓存或者给用户一个提示信息等。 需要注意的是,在使用MyBatis行数据库操作时,我们应该合理利用返回值,并对返回值适当的处理。例如,根据返回值判断是否需要回滚事务,或者根据返回值判断是否需要重新执删除操作等。 总之,MyBatis的delete方法返回的是一个整数值,用于表示删除操作的结果,我们可以根据这个返回值来判断删除操作的成功与否,并进相应的后续处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值