mybatis中使用Integer类型的参数<if>判断问题

mybatis对传入参数进行判断时,会使用if标签, 一般是判断不为null和'', 如下:<if test="name != null and 那么 != ''">    name =#{name,jdbcType=VARCHAR},</if>
1、String类型是符合的,但是如果是Integer类型的话,如果变量的值是0,即 num = 0,mybatis在进行 num != '' 的时候会认为num 的值是空字符串, 即 num == '' 为true。  所以如果是Integer类型只需要判断 != null即可
2、如果String类型需要判断不等于0,则需要写name != '0'.toString(),否则会报错。