mybatis 中foreach 遍历对象
时间: 2023-11-04 18:01:54 浏览: 230
MyBatis 中可以使用 `foreach` 标签来遍历一个集合对象,将集合中的元素逐个传递给 SQL 语句中的参数。如果需要遍历一个对象集合,可以通过以下方式实现:
1. 在 `foreach` 标签中指定集合对象和集合元素的别名:
```xml
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
```
- `collection`:指定需要遍历的集合对象,可以是 List、Set、数组等;
- `item`:指定集合元素的别名;
- `index`:指定集合元素的索引,如果集合对象是 List,则索引值从 0 开始;
- `separator`:指定元素之间的分隔符;
- `open`:指定遍历开始时的字符;
- `close`:指定遍历结束时的字符。
2. 在 SQL 语句中使用 `${item.property}` 的方式来引用集合元素的属性值:
```xml
<select id="getUserByIds" resultType="User">
SELECT * FROM user WHERE id IN
<foreach collection="list" item="item" index="index" separator="," open="(" close=")">
${item.id}
</foreach>
</select>
```
- `${item.id}`:表示遍历集合时,取出集合元素的 `id` 属性值。
这样,在遍历集合对象时,MyBatis 会自动将集合中的元素逐个传递给 SQL 语句中的参数,进而执行 SQL 语句,并返回查询结果。
阅读全文