在 MyBatis 中,update() 方法返回的 int 表示 受影响的记录条数(即:成功被更新的数据库行数)。
示例说明:
假设你有如下语句:
int rows = sqlSession.update("com.example.UserMapper.updateUser", user);
如果该 updateUser 操作实际更新了 2 条记录,那么 rows 的值就是 2。如果没有任何记录被更新,返回值就是 0。
实际应用场景中的意义:
- 用于判断操作是否成功:例如你希望更新一条用户信息,返回值为
1才说明确实更新成功。 - 用于处理并发冲突:乐观锁的场景中,通常要求更新时带上版本号,若返回
0则说明数据已经被其他线程修改了。
特别提醒:
- 返回值 不代表语句执行是否报错,只是表示有多少条记录被影响。如果 SQL 写得正确但条件不匹配,返回 0。
- 对于批量更新,返回的就是匹配并被更新的总行数。
如果你有 insert() 或 delete(),同样也是返回受影响的行数。






苏公网安备32021302001419号