1.判斷Double類型:<if test="probability != null">probability = #{probability},</if>,在實體類中probability字段是Double類型;
2.判斷Integer類型:<if test="faceValue != null">face_value = #{faceValue}, </if>,在實體類中faceValue字段是Integer類型;
3.判斷String類型:<if test="couponName != null and couponName != ''">coupon_name = #{couponName}, </if>,在實體類中couponName是String類型;
4.判斷Date類型:<if test="beginTime != null">begin_time = #{beginTime}, </if>,在實體類中beginTime字段是Date類型;
因為String類型是符合的,但是如果是Integer類型的話,如果變量的值是0,即 faceValue = 0, mybatis在進行 faceValue != '' 的時候會認為 faceValue 的值是空字符串, 即 faceValue == '' 為true;
同理,Double,Date也是如此。所以如果是Integer類型,Double類型,Date類型只需要判斷 != null 即可。如果String類型需要判斷不等於0,則需要寫name != '0'.toString(),否則會報錯。