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語句執行。