MyBatis的foreach标签用于遍历集合或数组,并在SQL语句中动态生成对应的参数。以下是foreach标签的使用方法:
<select id="selectUsersByIdList" resultType="User">
SELECT * FROM users
WHERE id IN
<foreach item="id" collection="idList" open="(" separator="," close=")">
#{id}
</foreach>
</select>
List<Integer> idList = Arrays.asList(1, 2, 3);
List<User> users = sqlSession.selectList("selectUsersByIdList", idList);
在上面的例子中,foreach标签会循环遍历idList集合中的元素,并将每个元素插入到SQL语句中的IN条件中。最终生成的SQL语句类似于:SELECT * FROM users WHERE id IN (1, 2, 3)。