Mybatis choose when test条件可以用in吗
时间: 2024-05-02 15:22:57 浏览: 72
利用MyBatis实现条件查询的方法汇总
可以。在 MyBatis 中,choose 元素中的 when 元素的 test 属性可以使用 in 来判断是否包含某个值。例如:
```
<select id="findUsers" parameterType="map" resultType="User">
SELECT *
FROM user
WHERE 1=1
<choose>
<when test="ids != null and ids.size > 0">
AND id IN
<foreach item="id" collection="ids" separator="," open="(" close=")">
#{id}
</foreach>
</when>
<otherwise>
AND name = #{name}
</otherwise>
</choose>
</select>
```
在这个示例中,当 ids 不为空且长度大于 0 时,会使用 in 来判断 id 是否在 ids 中。如果 ids 为空或长度为 0,则使用 name 来查找用户。
阅读全文