マイバティスでリストを使う方法は何ですか。

MyBatisでのリストは、マッピングファイルでのバッチ処理に使用されます。一度に複数のオブジェクトを挿入、更新、または削除することができます。以下はMyBatisでのリストの使用例です。

  1. 複数のオブジェクトを挿入する際には、リスト内のオブジェクトをforeachタグを使用してデータベースに順番に挿入することができます。

マッピングファイルの例:

<insert id="insertUsers" parameterType="java.util.List">
  INSERT INTO users (id, name, age) VALUES
  <foreach collection="list" item="user" separator=",">
    (#{user.id}, #{user.name}, #{user.age})
  </foreach>
</insert>

Javaコードの例:

List<User> userList = new ArrayList<>();
userList.add(new User(1, "Alice", 20));
userList.add(new User(2, "Bob", 25));
userList.add(new User(3, "Charlie", 30));

sqlSession.insert("insertUsers", userList);
  1. リスト内のオブジェクトを繰り返しデータベースに更新する際には、foreachタグを使用して複数のオブジェクトを更新できます。

マッピングファイルの例:

<update id="updateUsers" parameterType="java.util.List">
  <foreach collection="list" item="user" separator=";">
    UPDATE users SET name = #{user.name}, age = #{user.age} WHERE id = #{user.id}
  </foreach>
</update>

Javaのコード例:

List<User> userList = new ArrayList<>();
userList.add(new User(1, "Alice", 21));
userList.add(new User(2, "Bob", 26));
userList.add(new User(3, "Charlie", 31));

sqlSession.update("updateUsers", userList);
  1. リスト内のオブジェクトを繰り返し処理して、データベースから複数のオブジェクトを削除するには、foreachタグを使用できます。

マッピングファイルの例:

<delete id="deleteUsers" parameterType="java.util.List">
  DELETE FROM users WHERE id IN
  <foreach collection="list" item="id" open="(" close=")" separator=",">
    #{id}
  </foreach>
</delete>

Javaのコード例:

List<Integer> userIds = new ArrayList<>();
userIds.add(1);
userIds.add(2);
userIds.add(3);

sqlSession.delete("deleteUsers", userIds);

これらの例は、MyBatisでリストを使用してバッチ処理を行う方法を示しています。foreachタグをマッピングファイルで使用する際には、collection属性で繰り返すパラメータリストが指定され、item属性で各ループ内のオブジェクト名が指定され、separator属性で各オブジェクト間の区切り記号が指定されます。

bannerAds