mybatisはリストコレクションをどのように受け取りますか。
MyBatisでは、Listコレクションを受け取るために以下の方法を使用できます。
- 各々
- Japanese: 各々
<select id="getUsersByIds" parameterType="java.util.List" resultType="User">
SELECT * FROM users WHERE id IN
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
この例では、getUsersByIdsメソッドはListという名前の引数を受け取り、SQL文でforeachタグを使用してコレクション内の要素を反復処理します。
- @param をネイティブで日本語に言い換えると、次のようになります。
- @パラメータ
@Select("SELECT * FROM users WHERE id IN (#{ids})")
List<User> getUsersByIds(@Param("ids") List<Integer> ids);
この例では、getUsersByIdsメソッドはList型のidsというパラメータを受け取り、SQL文でパラメータを参照するために#{ids}を使用しています。
どの方法を使用しても、Listコレクションをパラメーターとして受け取り、SQL文で使用することができます。