为什么参数前面要加@Param("username") //Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]
在映射层,当我根据传入的用户名和密码在数据库查询数据的时候,用户名和密码都是字符串类型,执行会出现如题的报错,加了注解@Param就好了
原因
@Param("")是mybatis的注解,虽然在定义形式参数时指定了变量名,但是mybatis是不认识的(一个参数的时候好像没有问题,不用添加注解,但是多个相同类型的参数,不加注解mybatis是不认识的);
@Param("name") String username 外部传过来的参数username会被赋值给name,在查询条件中,就可以使用#{name}来取值了