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

来源:segmentfault.com 更新时间:2023-05-25 21:55

题目来源及自己的思路

在平常写代码中,看到有些同事会在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
所以没有必要对返回结果进行判断

不知道各位的看法是什么
 

 

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