MyBatis提供了批量更新数据的方法,可以使用updateBatch
方法来实现批量更新操作。
使用updateBatch
方法,需要在Mapper接口中定义一个方法,方法的参数为一个包含多个对象的集合。例如,假设有一个User对象,包含id和name属性,可以定义一个批量更新用户的方法如下:
void updateBatch(List<User> userList);
在Mapper XML文件中,可以使用foreach
标签来循环遍历集合,并执行更新操作。例如:
<update id="updateBatch" parameterType="java.util.List">
<foreach collection="list" item="user" separator=";">
UPDATE user SET name=#{user.name} WHERE id=#{user.id}
</foreach>
</update>
然后,在Java代码中调用该方法即可实现批量更新操作。例如:
List<User> userList = new ArrayList<>();
User user1 = new User(1, "Alice");
User user2 = new User(2, "Bob");
userList.add(user1);
userList.add(user2);
userMapper.updateBatch(userList);
以上示例中,定义了一个包含两个User对象的集合,分别设置了id和name属性,然后调用updateBatch
方法执行批量更新操作。