使用mybatis传入参数,如果参数类型是String ,InInteger,等这些时。如果用他的<if>标签判断该参数是否为空,通常会爆There is no getter for property named 'id' in 'class java.lang.Integer异常。
解决办法1:
在接口中该方法的参数前加上@Param("参数名")注解。
例如:StarBeauticianRecord selectByPrimaryKey(@Param(value="id")Integer id);
解决办法2:
在 xml文件中应该使用_parameter来代替参数名。
例如:<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
- select
<include refid="Base_Column_List" />
from starBeauticianRecord
where 1=1
<if test="_ parameter != null" >
and id = #{- _ parameter}
- </if>