mybatis 的一点问题

时间:2023-03-09 15:02:25
mybatis 的一点问题

写法1:   public User queryUserByUsername(String username);

写法2:   public User queryUserByUsername(@Param(value="username") String username);

写法1总是报莫名其妙的异常:

org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'username' in 'class java.lang.String'
### Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'username' in 'class java.lang.String'

......

感觉是因为没有指定参数的名称结果mybatis自动以一个默认的名字来进行反射注入,所以提示找不到对应的get和set方法

记得之前实习时候多参数也是必须指定参数名,否则顺序甚至有可能错乱

改成写法2  没有问题通过