在使用mybatis框架,进行数据的insert和update时,Integer和BigDecimal类型作数值传递,大部分情况这么写:
<if test="sampleNo != null and sampleNo != ''" >
SAMPLE_NO = #{sampleNo,jdbcType=DECIMAL} AND
</if>
但是如果我们需要传的值是0,这个判断会返回false
int i=0;
mybatis 会认为 i == 0 是个空字符串。
正常来说,0既不是空也不是空字符串。所以,对于这个问题,可以直接去掉 != ''的判断,只判断!=null即可。
即写成:
<if test="sampleNo != null " >
SAMPLE_NO = #{sampleNo,jdbcType=DECIMAL} AND
</if>