Mybatis用<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>

然后我改成==之后,一切恢复正常。

 

 

原理暂时不明,先做记录,有知道的大佬希望能不吝赐教。

 



posted @ 2021-08-12 09:23  荒野猛兽  阅读(1222)  评论(0编辑  收藏  举报