Mybatis 接收Integer类型,传入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即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,112评论 0 4
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,143评论 0 13
  • 一. Java基础部分.................................................
    wy_sure阅读 9,235评论 0 11
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,735评论 0 38
  • 今天我们继续来看《这样读书就够了》,这本书中有一章是关于如何搭建知识体系 什么是知识体系? 一本书的目录,一个课程...
    不会停的蜗牛阅读 5,563评论 4 53