美文网首页
Mybatis 接收Integer类型,传入0被认为是空字符串的

Mybatis 接收Integer类型,传入0被认为是空字符串的

作者: 平面小狮子 | 来源:发表于2019-04-17 10:41 被阅读0次

正常情况下,我们接收到传入的值才会做进一步的条件筛选,如下:

<if test="publishStatus != null and publishStatus != ''">

    and tp.publish_status = #{publishStatus,jdbcType = VARCHAR}

</if>

接收到的值不为null并且不为空字符串,才进一步拼接sql,但这样写只能针对字符串(String)类型,如果是Integer类型的话就会有问题,mybatis将ingeter类型为0的值也认定为空字符串,就造成了拼接sql的语句未执行。

处理方法: 如果类型为Integer类型,我就去掉 != ”的判断,只判断!=null即可。

相关文章

网友评论

      本文标题:Mybatis 接收Integer类型,传入0被认为是空字符串的

      本文链接:https://www.haomeiwen.com/subject/eusgwqtx.html