完整报错
当出现这个错误的时候先检查数据类型是否匹配,如果没问题的话往下看
nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating
class com.yssz.coursewareLearning.pojo.User with invalid types
(Integer,String,String,Role,Student,Teacher) or values (9,ljh,$2a$10$m2fWXgedtSI.sZB1Kl2t2.f9j19rni8NYzdukn6NR3r3mkGmSRgo6,1,ROLE_A
DMIN,null). Cause: java.lang.IllegalArgumentException: argument type mismatch
问题定位
构造器不匹配而非参数不匹配
解决方法
- 加上无参构造方法,使用lombok的话加上注解@NoArgsConstructor
- 用不上有参构造的话就删了吧
问题起因及解析
先说结论:构造器不匹配而非参数不匹配
测接口的时候报的错,虽然说是类型不匹配,查了半天并没有发现,一筹莫展的时候想到了有没有可能是构造器的问题,当时的代码如下
@Data
@AllArgsConstructor
public class User implements UserDetails {
@Id
@Alias("uid")
private Integer id;
private String username;
}