mybatis 中的foreach怎么用
时间: 2023-05-31 17:05:29 浏览: 249
测试mybatis里foreach用法
MyBatis 中的 foreach 可以用来遍历集合或者数组,将集合或者数组中的元素作为参数传入 SQL 语句中执行,以达到批量操作的目的。
以下是 foreach 的使用示例:
1. 遍历集合
```xml
<select id="findUsersByIds" parameterType="java.util.List" resultType="com.example.User">
SELECT * FROM user WHERE id IN
<foreach collection="list" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
```
这个示例中,collection 属性指定了要遍历的集合,item 属性指定了集合中的元素变量名,open、separator、close 属性分别指定了遍历过程中 SQL 语句的开头、元素之间的分隔符和结尾。在 SQL 语句中,使用 #{id} 引用了集合元素的值。
2. 遍历数组
```xml
<update id="updateUsers" parameterType="com.example.User[]">
UPDATE user SET
<foreach collection="array" item="user" separator=",">
name=#{user.name}, age=#{user.age}
</foreach>
WHERE id=#{id}
</update>
```
这个示例中,parameterType 属性指定了参数类型为 User 类型的数组,collection 属性指定了要遍历的数组,item 属性指定了数组中的元素变量名,separator 属性指定了元素之间的分隔符。在 SQL 语句中,使用 #{user.name} 和 #{user.age} 引用了数组元素的属性值。注意,这个示例中 WHERE 语句中的 id 是单个参数,不会被遍历。
阅读全文