There is no getter for property named 'id' in 'class java.lang.Integer

Posted Fight With Me!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了There is no getter for property named 'id' in 'class java.lang.Integer相关的知识,希望对你有一定的参考价值。

There is no getter for property named ‘id‘ in ‘class java.lang.Integer

问题描述:

使用mybatis传入参数, 当参数类型是String ,Integer 等这些时。如果用他的<if test="id != null and id != ‘‘">标签判断该参数是否为空,通常会爆There is no getter for property named ‘id’ in ‘class java.lang.Integer异常。

解决思路:

  • 在接口中该方法的参数前加上@Param(“参数名”)注解。
    例如:
    List<String> query(@Param(value="id") Integer id);

     

  • 我百度的时候,发现还有人这样解决,不知是否可行,一并摘录下来:
    在 xml文件中应该使用_parameter来代替参数名。
    例如:
<select id="query" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
        <include refid="Base_Column_List" />
    from t_user
    where 1=1
          <if test="_parameter!= null" >
             and  id = #{_parameter}
          </if>
  </select>

总结:

其实这个问题并不是很大,但是容易一不小心就误犯;所以一定要小心谨慎。

以上是关于There is no getter for property named 'id' in 'class java.lang.Integer的主要内容,如果未能解决你的问题,请参考以下文章

mybatis出现There is no getter for property named ...的原因及解决办法

There is no getter for property named 'NULL' in ……

Mybatis单个参数报错: There is no getter for property named

Mybatis单个参数报错: There is no getter for property named

Mybatismybatis查询报错org.apache.ibatis.reflection.ReflectionException: There is no getter for propert(代

Mybatis单个参数的if判断(针对异常:There is no getter for property..)------mybatis的内置对象