在MyBatis中,可以使用foreach
標簽來遍歷List
對象。
假設有如下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語句。