当入参为 string类型时 (包括java.lang.String.)
我们使用#{xxx}引入参数.会抛异常There is no getter for property named 'XXX' in 'class java.lang.String'
解决方法一:
报错代码如下:
<select id="getUserId" resultType="java.lang.Integer">
select
id from user where
1=1
<if test="userName !=null">
and user_name=#{userName}
</if>
and yn=1
</select>
修正如下:
<select id="getUserId" resultType="java.lang.Integer">
select
id from user where
1=1
<if test="_parameter !=null">
and user_name=#{userName}
</if>
and yn=1
</select>
解决方法二:
修改前:
public int getUserId(String userName);
修改后:
public int getUserId(@Param(value="userName") String userName);