マイバティスでリストオブジェクトをループ処理する方法は何ですか?

MyBatisでは、Listオブジェクトを繰り返し処理するためにforeachタグを使用することができます。

もしJavaのコードが次のようにあると仮定しましょう:

public class UserMapper {
    public List<User> getUsersByIds(List<Integer> ids) {
        // ...
    }
}

Mapper XML ファイルでは、foreach タグを使用して ids パラメータを繰り返し処理することができます。

<select id="getUsersByIds" parameterType="java.util.List" resultType="User">
    SELECT * FROM user
    WHERE id IN
    <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
        #{item}
    </foreach>
</select>

この例では、foreachタグのitem属性は現在反復されている要素を表し、index属性は現在の反復インデックスを表します。collection属性は反復するコレクションを指定し、open属性は反復が開始されるときの文字列を表し、separator属性は各要素の間の区切り文字を表し、close属性は反復が終了したときの文字列を表します。

上記の構成を使用すると、Listオブジェクトをパラメータとして渡すことができ、MyBatisは自動的にそのListオブジェクトをループし、ループ中の要素をSQLステートメントのパラメータとして渡します。

bannerAds