温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mybatis参数String与Integer类型的判断方式是什么

发布时间:2022-03-14 11:52:54 来源:亿速云 阅读:261 作者:iii 栏目:开发技术

这篇文章主要介绍“mybatis参数String与Integer类型的判断方式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mybatis参数String与Integer类型的判断方式是什么”文章能帮助大家解决问题。

String与Integer类型的判断

mybatis写update时,正常是set了值才会进行update操作

我们一般是这样写

<if test="sampleBatchNo != null and sampleBatchNo != ''">
SAMPLE_BATCH_NO =#{sampleBatchNo,jdbcType=VARCHAR},
</if>

1、 String类型是符合的,但是如果是Integer类型的话,mybatis会将i==0的值也认定为空字符串。

所以如果是Integer类型只需要判断!= null即可

2、如果String类型需要判断不等于0,则需要写sampleBatchNo != '0'.toString(),否则会报错。 

使用<if>标签判断Integer类型的坑

之前只知道如果是Integer类型,判断是否传参的时候判空就好,因为0会被认为和空字符''相等。

没想到还有另外的问题

<if test="req.type != null and req.type = 1">
</if>

注意上面的第二个条件使用的单个等号

此时不管你req.type传啥值(0啊,null啊,负数啊),甚至是不传这个属性,都会符合条件

<if test="req.type != null and req.type == 1">              
</if>

然后我改成==之后,一切恢复正常。

mybatis参数String与Integer类型的判断方式是什么

关于“mybatis参数String与Integer类型的判断方式是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI