问题描述:mybatis 之 if test 条件,参数为0时,查询条件未输出。如,当 tagtype值为0(Integer),查询条件没有拼接 and tagtype=0。传入其他值(1,2,3...)都正常
一、mybatis 配置
<!-- Where查询条件 -->
<sql id="whereSQL">
<if test=" null != id">
AND id =#{id}
</if>
<if test=" null != tagname and '' != tagname">
AND tagname LIKE '%${tagname}%'
</if>
<if test=" null != tagtype and '' != tagtype">
AND tagtype = #{tagtype}
</if>
</sql>
二、表结构
解决方法:
将
<if test=" null != tagtype and '' != tagtype">
AND tagtype = #{tagtype}
</if>
修改为
<if test=" null != tagtype and '' != tagtype
or 0 == tagtype
">
AND tagtype = #{tagtype}
</if>