为什么参数前面要加@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}来取值了

posted @ 2020-09-19 11:32  吴承博  阅读(399)  评论(0编辑  收藏  举报