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

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类型;
5.判断集合或者数组
<if test="hymap != null and hymap.size() != 0">
   and t.hy_name not in  
   <foreach collection="hymap" item="item1" open="(" close=")" index="i" separator=","> 
        #{item1,jdbcType=VARCHAR}
   </foreach>
</if>
 总结:
Integer类型数据,如果变量的值是0,即faceValue = 0, mybatis在进行 faceValue != ''
判断的时候会认为faceValue的值是空字符串, 即判断faceValue == ''为true;Double、Date模式相同。
所以如果判断的数据是Integer、Double、Date类型只需要判断 != null 即可。
另外,如果String类型需要判断不等于0,则需要写name != '0'.toString(),否则会报错

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大小先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值