mybatis中的foreach里面如何判断集合中是否为空
时间: 2024-01-22 13:03:00 浏览: 53
在 Mybatis 中,如果需要在 foreach 标签中判断集合是否为空,可以使用 OGNL 表达式来实现。具体来说,可以使用 ${collectionName != null and !collectionName.isEmpty()} 表达式来判断集合是否为空,其中 collectionName 是集合的名称。
举个例子,假设需要使用 foreach 标签遍历一个名为 list 的集合,代码如下:
```
<select id="queryUsersByIds" parameterType="java.util.List" resultMap="userResultMap">
SELECT * FROM users WHERE id IN
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
#{item}
</foreach>
</select>
```
如果需要判断 list 是否为空,则可以在 foreach 标签的 collection 属性中添加判断条件,代码如下:
```
<select id="queryUsersByIds" parameterType="java.util.List" resultMap="userResultMap">
SELECT * FROM users WHERE id IN
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")"
test="list != null and !list.isEmpty()">
#{item}
</foreach>
</select>
```
这样,如果 list 为空,foreach 标签就不会被执行,避免了出现 SQL 错误的情况。