资源贴:https://blog.youkuaiyun.com/qq_33866778/article/details/73199260
当mapper的方法参数是基础类型且只有一个时,在mapper.xml文件中使用${}取值时,会报There is no getter for property named 'id' in 'class java.lang.Integer'异常。
解决方法
1、@Param注解
public AreaDict selectById(@Param("id") Integer id);
select * from area_dict where area_dict_id = ${id}
2、将${}换成#{}取值,#{}能防止sql注入,${}只是简单的字符串替换,#{}先进行预处理
select * from area_dict where area_dict_id = #{id}
3、通过${value}或${_parameter}取值
select * from area_dict where area_dict_id = ${_parameter}
select * from area_dict where area_dict_id = ${value}
本文详细介绍了在使用MyBatis框架时遇到的参数传递问题,特别是当mapper方法参数为单一基础类型时,在mapper.xml文件中使用${}
1001

被折叠的 条评论
为什么被折叠?



