mybatis使用if判断参数是否为空



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(),否则会报错。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM