mybatis对各种类型判空处理,拒绝踩坑

1.判断Double类型:

    probability = #{probability},

//在实体类中probability字段是Double类型;
2.判断Integer类型:

    face_value = #{faceValue}, 

//在实体类中faceValue字段是Integer类型;
3.判断String类型:

    coupon_name = #{couponName}, 

//在实体类中couponName是String类型;
4.判断Date类型:

    begin_time = #{beginTime}, 

//在实体类中beginTime字段是Date类型;
5.判断集合或者数组

   and t.hy_name not in  
    
        #{item1,jdbcType=VARCHAR}
   
 总结:
Integer类型数据,如果变量的值是0,即faceValue = 0, mybatis在进行 faceValue != ''
判断的时候会认为faceValue的值是空字符串, 即判断faceValue == ''为true;Double、Date模式相同。
所以如果判断的数据是Integer、Double、Date类型只需要判断 != null 即可。
另外,如果String类型需要判断不等于0,则需要写name != '0'.toString(),否则会报错

你可能感兴趣的:(mybatis,java,服务器,mybatis)