mybatis foreach 内加 if
时间: 2023-12-08 13:39:03 浏览: 77
Mybatis中动态SQL,if,where,foreach的使用教程详解
5星 · 资源好评率100%
Mybatis中的foreach标签可以用于遍历集合或数组,并将集合或数组中的元素作为参数传递给SQL语句。在foreach标签内部,可以使用if标签进行条件判断。
以下是一个示例,演示如何在foreach内加if:
假设我们有一个List对象,其中包含了多个User对象,每个User对象都有id和name两个属性。我们想要查询id在1到5之间的User对象,可以使用foreach和if标签来实现:
```xml
<select id="getUserByIds" parameterType="java.util.List" resultType="User">
SELECT * FROM user WHERE id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
<if test="item.id >= 1 and item.id <= 5">
#{item.id}
</if>
</foreach>
</select>
```
在上面的示例中,我们首先使用foreach标签遍历了List对象,将其中的每个User对象的id属性作为参数传递给SQL语句中的IN操作符。在foreach标签内部,我们使用了if标签来判断当前User对象的id是否在1到5之间,如果是,则将其加入到IN操作符中。
阅读全文