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
方法執行批量更新操作。