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

mybatis对传入参数进行判断时,会使用if标签, 一般是判断不为null和'', 如下:

    name =#{name,jdbcType=VARCHAR},

 

1、 String类型是符合的,但是如果是Integer类型的话,如果变量的值是0,即 num = 0, mybatis在进行 num != '' 的时候会认为  num 的值是空字符串, 即 num == '' 为true。

  所以如果是Integer类型只需要判断 != null 即可

 

2、如果String类型需要判断不等于0,则需要写name != '0'.toString(),否则会报错。

你可能感兴趣的:(Mybatis)