Mybatis对于数值型没有必要做空判断,数值型作空判断会被识别为0

in java with 0 comment

问题描述 Mybatis查询时,使用if条件判断数值类型,当参数为0时,当if条件含有flag!=''时,无法筛选出数据。 比如:

		<if test="flag != null and flag != '' ">
			AND STATUS_FLAG = #{flag,jdbcType=BIT}
		</if>

问题原因 问题原因就是当flag 的值为0的时候,因为if条件含有flag!=''时,会导致判断是为false的,Mybatis是认定0为''的,所以为false。 解决办法 其实flag!=''对于数值型判断完全没有必要,去掉就好了。

X O