MyBatisでリストを一括削除する方法は何ですか?

MyBatisは、リストを一括削除するためのメソッドを提供しており、Mapper XMLファイルまたはアノテーションを使用して実行できます。

  1. Mapper XMLファイルを使用します:
    Mapper XMLファイルに削除ステートメントを記述し、foreachタグを使用してリスト内の各要素を繰り返し削除します。例えば:
<delete id="deleteBatch" parameterType="java.util.List">
  DELETE FROM table_name
  WHERE id IN
  <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
    #{item}
  </foreach>
</delete>

Javaコードで、Mapperインターフェースの対応するメソッドを呼び出して、一括削除を実装します。例えば:

List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(3);
mapper.deleteBatch(idList);
  1. マッパーインターフェース内で、@Deleteアノテーションを使用し、foreach属性を使用してリスト内の各要素を削除します。例えば:
@Delete("DELETE FROM table_name WHERE id IN "
        + "<foreach item='item' index='index' collection='list' open='(' separator=',' close=')'>"
        + "#{item}"
        + "</foreach>")
void deleteBatch(List<Integer> idList);

Javaのコードでは、Mapperインターフェースの対応するメソッドを呼び出して、一括削除を実装します。例えば:

List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(3);
mapper.deleteBatch(idList);

上記は、MyBatisでリストをバッチで削除するための2つの一般的な方法です。具体的な要件や使用習慣に応じて、そのうちの一つを選択して実装することができます。

bannerAds