<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"