问题
使用 Mybatis-plus 查询数据库时,出现异常,如下
- mybatis-plusjava.lang.IndexOutOfBoundsException:Index:13,Size:13
查询返回的字段数量 比接收实例对象的属性少一个,然后就将少的那一个加上,就不报错了,最后搜索资料发现,这个异常是因为使用lombok不当造成的,mybatis找不到对应的构造方法,无法将查询结果绑定到实体对象上
解决办法
- 当数据库字段和实体类接收字段个数一样 可以不用加显示的声明构造方法, 但是如果字段不一样就需要加显示的声明构造方法,或者使用@AllArgsConstructor @NoArgsConstructor 注解来声明构造。
- 去除@Builder注解。
温馨提示
- 使用 使用lombok注解@Data 和 @Builder 的时候,记得加上构造函数注解@NoArgsConstructor、@AllArgsConstructor