报错 Parameter ‘id’ not found. Available parameters are [argl, argg, paraml, param2)
报错信息:
今天使用mybatis查询数据的时候,出现如下图的错误信息
产生原因:
mybatis没有匹配到这个参数
解决方案:
1、使用注解@Param(“xxx”)来完成
2、若id在house实体类里的话,直接使用house实体就行
说明:
1、当有多个参数时必须使用@Param(“xxx”)来指明:
如:
public void login(@Param("username")String username, @Param("password")String password);
2、当只有一个参数时,Mapper/Dao层中的方法可以不使用注解,如插入数据的时候:
public void insert(House house);
总结:
当只有一个参数时,controller的方法中可不用添加注解,mybatis可以自动匹配
当大于一个参数时,controller的方法中需要使用注解@Param(“xxx”)为mybatis指定参数