现象:在mybatis 中使用判断一个字段不等于''
<if test="param!= ''" >
如果程序中,param 是number类型,而且值为0的情况下,会有 0==''情况发生。(mybatis 源码中String类型的"",在判断中通过对String的长度判断进行赋值,而""在判断逻辑中等同于0.0D,结果为double dv2=0.0)
解决方法:
1、参数类型改为String类型
2、不用<if test="param!= ''" >,而用<if test="param!= null " >,参数做判断,如果为'' 则赋值 null