MyBatis中if标签传0不能正确判断问题。

最近公司做项目时,遇到了一个传入值为0时,mybatis中if标签判断出错的问题,记录之。

            <if test="ew.entity.type != null and ew.entity.type != ''">
                AND type = #{ew.entity.type , jdbcType=DECIMAL}
            </if>

以上原代码,当type =0时,这个条件就进入不了。

改成

            <if test="ew.entity.type != null and ew.entity.type != '' or ew.entity.type == 0">
                AND type = #{ew.entity.type , jdbcType=DECIMAL}
            </if>

后成功运行。

实际是,Mybatis中if标签判断时,比较字符串和数字时,会把这个字符串转换成数字,然后再和这个数字判断.
然鹅,下面是源码

return s.length() == 0 ? 0.0D : Double.parseDouble(s);

当为空串时会被转成0.0D
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值