在调用dao层中的接口出现了下面的错误
Caused by: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [1, 0, param1, param2]
从字面上的意思是无法完成id参数的绑定。
google之后查明这是java编程语言的一个问题,就是java没有保存行参的记录,java在运行的时候回把
int findUserById(int id,int num);
中的参数变成
int findUserById(int arg0,int arg1);
解决办法:
这样就没有办法去传递多个参数,此时需要在接口中修改方法
int findUserById(@Param("id") int id,@Param("num") int num);
这样才能使mybatis识别id和num两个参数,将Dao层中的这两个参数与xml映射文件中sql语句的传入参数完成映射。
然后再次运行,测试通过!