mybatis 中的foreach
时间: 2023-11-15 20:57:19 浏览: 94
在 MyBatis 中,`<foreach>` 标签可以用于循环遍历一个集合,并将集合中的元素作为参数传递给 SQL 语句中的 IN 子句。这个标签经常使用在批量插入、批量更新等场景中。
`<foreach>` 标签的语法格式如下:
```xml
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
```
其中,`collection` 指定要循环遍历的集合,它可以是一个 List、Set、数组或者 Map。`item` 指定集合中的元素名,`index` 指定元素的下标名,`open` 和 `close` 指定 SQL 语句中 IN 子句的左右括号,`separator` 指定元素之间的分隔符。
下面是一个示例,展示如何使用 `<foreach>` 标签实现批量插入:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO user (id, name, age) VALUES
<foreach collection="list" item="item" separator=",">
(#{item.id}, #{item.name}, #{item.age})
</foreach>
</insert>
```
在上面的示例中,`collection` 指定了要循环遍历的 List 集合,`item` 指定了集合中的元素名。在 INSERT INTO 语句中,使用 `<foreach>` 标签循环遍历 List 集合,并将集合中的元素作为参数传递给 SQL 语句中的 VALUES 子句中的占位符。
阅读全文