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(),否则会报错。

原文地址:https://www.cnblogs.com/gczmn/p/9321977.html