本文主要是介绍43.bug:mapper接口参数使用@param重命名导致的错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
错误信息:Nested exception is org.apache.ibatis.binding.bindingException:parameter inVo not found
public interface UserMapper{
//查询用户列表User queryUserList(@Param ("inVo") UserInVo userInVo);
}
对应的UserMapper如下:
<select id="queryUserList" returnType="User">selelct id,name,age,phone,createtime from tb_user A<where><if test="inVo.name!='' and inVo.name!=null">A.name=#{inVo.name}</if><if test=" userInVo.age!=null">A.age=#{userInVo.age}</if></where>order by A.createtime desc
</select>
原因 :mappper 的接口方法中,因为使用@Param注解,重命名入参,但是SQL中没有使用重命名的参数名导致
改正:SQL使用重命名后的参数名
<select id="queryUserList" returnType="User">selelct id,name,age,phone,createtime from tb_user A<where><if test="inVo.name!='' and inVo.name!=null">A.name=#{inVo.name}</if>
//错误改正:userInVo改正为:inVo<if test=" inVo.age!=null">A.age=#{inVo.age}</if></where>order by A.createtime desc
</select>
这篇关于43.bug:mapper接口参数使用@param重命名导致的错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!