,使用${}拼接sql报错,
用的是mybatis的mapper,代码如下:
mapper:定义一个接口,参数类型为String,如果把String类型改为bean或者map都不报错
public List<UserVo> getUserInfoByStatus(String status);
xml:把xml文件中的'${status}'改为#{status}也不报错
<select id="getUserInfoByStatus" resultType="UserVo" parameterType="String">
<![CDATA[
select * from bp_lvwang_user t where t.homegw = '0' and t.status = '${status}'
]]>
</select>
报错信息:
Exception in thread "main" org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'status' in 'class java.lang.String'
解决方法:
有两种解决方法:
1.public List<UserVo> getUserInfoByStatus(@Param(value="status") String status);
2.select * from bp_lvwang_user t where t.homegw = '0' and t.status = '${value}'