mysql语句的增删改有必要根据返回值去判断语句执行是否成功吗

新手上路,请多包涵

题目来源及自己的思路

在平常写代码中,看到有些同事会在Update/Insert/Delete后
根据JDBC的API获取DML操作影响的行数。再对受影响行进行判断,给前端返回不同的JSON数据

相关代码

    int result = getBaseMapper().updateById(loginUser);

    if (result > 0){
        return JsonResult.success();
    }

    return JsonResult.createByError("更新进行失败");

你期待的结果是什么

我想,通过Java将DML语句发送给MYSQL服务后,无论是数据库连接不够,还是链接超时,或者是SQL异常,都会抛出RunTimeException
所以没有必要对返回结果进行判断

不知道各位的看法是什么

阅读 3.7k
2 个回答

这个机制可以实现一些业务需求,比如数据冲突导致更新失败,告知用户重新提交
如果不能告诉用户(可能还有自己)为什么更新失败,意义就很小了

我一般不会根据这个去判断是否成功,但会将数据库增删改查的返回值封装到结果中,这样出来问题你还可以根据返回值简单分析一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题