mybatis查询报错java.lang.IndexOutOfBoundsException

sql 单独执行正确,但是 mybatis 查询报错,部分错误信息如下:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
###Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
###The error may involve com.xxx.persistence.mapper.XXXMapper.countxxxQty
###The error occurred while handling results
###SQL: xxxxxxxxx
###Cause: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2

原因:
mapper 中查询结果 resultMap 对应的 DoxxxDto 使用了 lombok 注解,使用有误导致的。报错时的注解:
@Data
@Builder
public class DoxxxDto{
}

没有构造函数,将查询结果转换成 javebean 的时候出了问题,报错中的 2 是因为查询了 2 列。加上构造函数的注解即可。如下:
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DoxxxDto{
}