一、字符串(string)非空判断
<if test="name!=null and name!=''">
AND name = #{name}
</if>
二、集合(list)非空判断
<if test="list!=null and list.size()!=0">
AND THIRD_DPT IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
三、说明
mybatis的if判断语句其实跟el表达式的if条件判断有些类似(如下图对应关系);如果需要做逻辑与和或的判断,可以使用and和or,需要注意的是test用双引号,字符串用单引号。
gt 对应 >
gte 对应 >=
eq 对应 ==
neq 对应 !=
lt 对应 < (会报错,相关联的 "test" 属性值不能包含 '<' 字符)
lte 对应 <= (会报错,相关联的 "test" 属性值不能包含 '<' 字符)