- 报错信息
Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
-
原因分析
排查了SQL编写,参数封装等都没有问题,将打印出来的SQL直接在mysql终端执行也没有问题,需要排查MybatisPlus封装返回结果时的对象构造上。 -
解决
如果查询结果返回的实体类使用了@Builder注解,Lombok会私有化构造方法,Mybatis此时无法利用空参构造方法创建对象。需要给实体类加上空参构造方法注解。
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor