Wetts's blog

Stay Hungry, Stay Foolish.

0%

Mybatis-坑-Integer类型,值为0被认为是空字符串

正常是 type 有值才会使用这个条件

1
2
3
<if test="type != null and type != ''">
type=#{type},
</if>
1
2
3
int i = 0;
i!=''。
mybatis中会返回true。也就是说,mybatis将i==0的值也认定为空字符串。

正常来说,0不为空也不是空字符串。所以,针对这个问题,我的解决办法是:如果类型为Integer类型,我就去掉 != ”的判断,只判断!=null即可。