mybatis 在解析Integer类型值为0的属性,会解析成空字符串

本文介绍了在使用Mybatis时遇到的一个常见问题:当属性为特定类型且值为0时,如何正确地进行条件判断。通过调整if语句的判断条件,可以避免将0误判为空字符串,确保查询逻辑的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候我们在使用Mybatis时,常常会判断属性是否为空

 <if test="plan_id != null and plan != ''">  
    and plan_id = #{plan_id}   
</if>  
当plan_id为Integer类型,并且plan_id值为0时,该if判断却为false。

当plan_id为0时,Mybatis会解析成''  空字符串。

为了避免这个问题,改成下面这样写,去掉对空字符的判断,就解决了该问题

<if test="plan_id!= null">  
    and plan_id= #{plan_id}   
</if>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值