使用mybatis传入参数, 当参数类型是String ,Integer 等这些时。如果用他的 if 标签判断该参数是否为空,通常会爆There is no getter for property named ‘id’ in ‘class java.lang.Integer异常。
解决方法
一、在mapper接口参数里加上@Param注解
List<User> selectUserById(@Param(value = "id") Integer id);
二、当你的接口中只有 一个 String或者基本类型的参数时可以使用 _parameter 来代替参数
<select id="selectUserById" resultType="com.zyq.entity.User" resultMap="userMap">
SELECT * FROM t_user
<where>
<if test="_parameter != null">
AND id = #{id}
</if>
</where>
</select>