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>
然后我改成==之后,一切恢复正常。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring使用Redis限制用户登录失败的次数及暂时锁定用户登录权限功能
这篇文章主要介绍了Spring使用Redis限制用户登录失败的次数及暂时锁定用户登录权限功能,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下2024-02-02
maven打包成第三方jar包且把pom依赖包打入进来的方法
这篇文章主要介绍了maven打包成第三方jar包且把pom依赖包打入进来的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-11-11
Spring Data JPA 简单查询--方法定义规则(详解)
下面小编就为大家带来一篇Spring Data JPA 简单查询--方法定义规则(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-04-04


最新评论