mybatis中当参数为0时候的判断

<if test="0==paraLC0000">  
            and YBH000 like #{paraQFLCMC}+%
</if>
上述判断:
1、params.put("paraLC0000", "0");成立
2、params.put("paraLC0000", 0);成立
3、params.put("paraLC0000", null);不成立
4、params.put("paraLC0000", "null");--报错 Cause: java.lang.NumberFormatException: For input string: "null"


 <if test=" ==paraLC0000 ">  
            and YBH000 like #{paraQFLCMC}+%
</if>
1、params.put("paraLC0000", 0);成立
2、params.put("paraLC0000", "0");不成立
3、params.put("paraLC0000", "");成立


<if test=" 0==paraLC0000 ">  
            and YBH000 like #{paraQFLCMC}+%
</if>
1、params.put("paraLC0000", null);不成立
2、params.put("paraLC0000", 0);不成立 因为:mybatis把数值类型的0解析成立空串,‘0’显然不等于‘’
3、params.put("paraLC0000", "0");不成立 ;解决办法:test=" 0.toString()==paraLC0000"

综上所述:
0比较时候,参数转为字符串“0”,然后xml中test=" 0.toString()==paraLC0000"
经验分享 程序员 微信小程序 职场和发展