|
Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3场景:一个业务逻辑写完,在接口请求时,报错Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3。检查mapper没有发现什么问题。
解决办法:
经过网上搜索总结,实体类接收出现问题,实体类基本都是创建完成是用快捷键出来的,不可能是写的出现什么问题,搜索一番,看到一个篇说是没有无参构造函数。同时写了具体原因,底层我一知半解,大概意思是实体类在接收参数时,mapper这是映射过去需要使用无参,因为创建的时候都会创建有参构造函数,但是无参默认有,但是编译以后没有提供无参构造函数。导致的没发接收到映射的参数。
方法1:大神们提供了一些注解来解决,我尝试了一下发现我用不了,也没有提示,因为我是初学我不太明白为啥没有,欢迎大哥们赐教。相关注解如下
- @Data
- @Builder(toBuilder = true)
- @NoArgsConstructor
- @AllArgsConstructor
复制代码 方法2:手添加了一个无参构造。再次请求解决
- public User()
- {
- this.username = username;
- this.password = password;
- this.salt = salt;
- this.create_time = create_time;
- this.update_time = update_time;
- this.id = id;
- }```
复制代码
|
|