MyBatis 一括更新:効率的なデータ更新方法を解説
MyBatisでは、複数のデータを一度に更新するためにバッチ更新を使用することができます。以下はMyBatisを使用してデータを一括更新する手順です。
- Mapperインターフェースを作成し、データを一括更新するためのメソッドを定義してください。例えば:
public interface UserMapper {
void batchUpdate(List<User> userList);
}
- マッパー.xmlファイルに対応するSQL文を記述し、foreachタグを使用してデータを繰り返し更新する。例えば、
<update id="batchUpdate" parameterType="java.util.List">
update user
<set>
<foreach collection="list" item="item" separator=",">
name = #{item.name},
age = #{item.age}
</foreach>
</set>
where id in
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item.id}
</foreach>
</update>
- 例えば、更新データリストを渡すために、JavaコードでMapperインターフェースのメソッドを呼び出してください。
List<User> userList = new ArrayList<>();
User user1 = new User(1, "Alice", 25);
User user2 = new User(2, "Bob", 30);
userList.add(user1);
userList.add(user2);
userMapper.batchUpdate(userList);
上記の手順に従うことで、MyBatisを使用してデータを一括更新することができます。実際のアプリケーションでは、具体的な業務要件に基づいてMapperインタフェースとSQLステートメントを定義し、一括更新機能を実現できます。