java long类型为0,mapper.xml会判定为空?
时间: 2023-11-09 18:04:21 浏览: 120
在Java中,long类型的默认值为0。在MyBatis中,如果我们在Mapper.xml中使用了<if>标签判断long类型的值是否为空,那么当long类型的值为0时,<if>标签会认为它是非空的,因为0不是空引用(null)。因此,在使用<if>标签判断long类型的值是否为空时,我们应该使用!=来判断它是否为0。例如:
```
<select id="getUserById" resultType="User">
select * from user where id = #{id}
<if test="age != 0">
and age = #{age}
</if>
</select>
```
在这个例子中,如果age为0,<if>标签会认为它不为空,因此不会加上and age = #{age}这个条件。如果age不为0,<if>标签会认为它非空,因此会加上and age = #{age}这个条件。
阅读全文