mybatis-plus的xml文件中判断输入的list不为空
在 MyBatis-Plus 的 XML 文件中,可以使用 OGNL 表达式来判断输入的 list 是否为空。具体方法如下:
<select id="selectByIds" resultType="com.example.entity.User">
SELECT * FROM user WHERE id IN
<foreach collection="list" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
<if test="list != null and list.size() > 0">
AND status = 1
</if>
</select>
在这个例子中,我们使用了 <if>
标签来判断输入的 list 是否为空。test
属性中的表达式 list != null and list.size() > 0
判断了 list 不为空且长度大于 0 时才会执行 SQL 语句中的 AND status = 1
条件。
另外,我们还使用了 <foreach>
标签来遍历输入的 list,将其中的元素作为查询条件的一部分。注意,在这个例子中,我们将 <foreach>
标签放在了 SQL 语句中间,而不是放在 WHERE
子句中。这是因为如果 list 为空,整个 SQL 语句就会变成 SELECT * FROM user WHERE id IN ()
,这是无效的 SQL 语句,会导致错误。因此,我们需要使用 <if>
标签来判断 list 是否为空,只有在 list 不为空时才会执行 SQL 语句中的 AND status = 1
条件。