这种错误应该是由于参数有多个,没有指定名称导致的~
举个例子
dao层的UserMapper接口里有一个方法insertUser
int insertUser( String userName, String password);
其次我们向逆向工程生成的UserMapper.xml映射文件中添加插入语句
然后调用insertUser方法 插入用户名和密码
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.insertUser("张三","1234");
此时运行就会报[arg1,arg2,param1,param2]这个错误。
有两个解决办法:
1.在insertUser方法添加@Param注解
int insertUser(@Param("userName") String userName,@Param("password") String password);
2.在UserMapper.xml映射文件中修改 用指定的参数来获取
总结:
当参数有多个时,我们需要指定参数名称,如果不指定参数名称,我们可以用默认的参数名称来获取param1
如果只有一个参数的时候 在映射文件中可以用任意名称获取