mybatis把整数0识别为空

今天在做项目的时候遇到一个问题,前台传一个0(Integer)封装到后台对象中,然后传入mybatis中作为查询条件,但是并没有执行那条<if></if>语句。

id传值为0时(前提是id对应的类型为long 或者 Integer,String型无此问题),原因是因为在mybatis中会自动把0当成null,所以if判断为false,如果要传值为0时判断为true,只要将判断为空串的判断去掉即可

<if test="id != null ">
   and id = #{id}
</if>

参考:https://blog.csdn.net/lth1156187401/article/details/51181026


150 Clicks !

发表评论

电子邮件地址不会被公开。