MyBatis提供了updateBatch
方法来实现批量更新操作。下面是一个示例:
public interface UserMapper {
void updateBatch(List<User> users);
}
<update id="updateBatch" parameterType="java.util.List">
update user
<set>
<foreach collection="list" item="user" separator=";">
id = #{user.id}, name = #{user.name}
</foreach>
</set>
</update>
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void updateBatch(List<User> users) {
userMapper.updateBatch(users);
}
}
@RestController
public class UserController {
@Autowired
private UserService userService;
@PutMapping("/users")
public void updateUsers(@RequestBody List<User> users) {
userService.updateBatch(users);
}
}
通过以上步骤,就可以实现MyBatis的批量更新操作。在执行updateBatch
方法时,MyBatis会将传入的List参数转换成批量更新的SQL语句执行。