mybatis 注解sql foreach
时间: 2024-06-07 13:03:56 浏览: 172
mybatis注解
MyBatis 的 `@foreach` 注解是用于在 SQL 映射文件中动态生成循环结构的,它通常配合 `list` 或 `collection` 类型的参数使用。这个注解允许你根据传入的集合中的元素执行多次相同的 SQL 语句,简化了对于循环处理的代码编写。
`@foreach` 的基本用法如下:
```java
<select id="selectUsers" resultType="User">
SELECT * FROM users
<foreach item="item" index="index" collection="usersList" open="(" separator="," close=")">
${item.name}, ${item.age}
</foreach>
</select>
```
这里的参数解释如下:
- `id`:映射方法的唯一标识符。
- `resultType`:查询结果的类型。
- `collection`:表示从哪个集合对象中获取元素(通常是方法参数)。
- `item`:迭代器当前元素的别名。
- `index`:迭代器的当前位置,如果不需要,可以省略。
- `open`, `separator`, `close`:分别定义开始、分隔符和结束的字符串模板,它们会被替换为实际的值。
当调用这个方法时,例如传递一个 `List<User>` 到 `usersList` 参数中,`@foreach` 就会遍历这个列表,为每个用户生成一条包含 `name` 和 `age` 的 SQL 语句。
阅读全文