美文网首页
mybatis查询参数为0时无法识别问题

mybatis查询参数为0时无法识别问题

作者: 赵优秀 | 来源:发表于2021-06-24 10:04 被阅读0次

    mybatis参数问题, 列表查询按照状态进行过滤, 其中已处理状态值是1, 未处理是0. 参数接受为 Integer 时:
    Mapper里面是和平常一样的写法 :

    <if test="null != param.isDeal and '' != param.isDeal">
                    and is_deal = #{param.isDeal}
    </if>
    

    发先现参数为1时过滤正常,参数为0时无法正常过滤.
    mybatis的Integer类型参数如果有为0的可能,在if标签判断中还应该单独加入判断,否则参数0会当成空字符串处理

    第一种方法:

    mapper里改写为这种写法:

    <if test="null != param.isDeal and '' != param.isDeal or param.isDeal == 0 ">
                    and is_deal = #{param.isDeal}
    </if>
    

    第二种方法

    isDeal参数接收,由原来的Integer类型修改为String. mapper 就不用修改就能生效.

    就可以了!!!

    相关文章

      网友评论

          本文标题:mybatis查询参数为0时无法识别问题

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