pagehelper分页,获取的总页数不对(do转dto)
@Override
public Page<SysFinancialSystemDTO> selectFinancialSystemList(SysFinancialSystemDTO sysFinancialSystemDTO) {
SysFinancialSystemDO sysFinancialSystemDO = new SysFinancialSystemDO();
BeanUtils.copyProperties(sysFinancialSystemDTO, sysFinancialSystemDO);
List<SysFinancialSystemDO> dos = dao.selectFinancialSystemList(sysFinancialSystemDO);
Page<SysFinancialSystemDTO> dtos = new Page<>();
BeanUtils.copyProperties(dos, dtos);
for (SysFinancialSystemDO sysdo : dos) {
SysFinancialSystemDTO dto = new SysFinancialSystemDTO();
BeanUtils.copyProperties(sysdo, dto);
dtos.add(dto);
}
return dtos;
}
使用 mybatis 和 pagehelper 进行分页,我们查出的列表数据其实是Page类型,Page继承了ArrayList
当我们使用 new ArrayList() 创建DTO去做转换,转换后的类型就变成了ArrayList类型,不在具备Page原有分页前的属性
所以我们new Page<>(); 来创建DTO
紧接着进行 BeanUtils.copyProperties(dos, dtos);把Page原有的属性给拷贝过来
然后在进行DO转为DTO的数据转换
最后得到转换后的DTO依然是Page类型且具有分页前的属性
DTO转BO,BO转DTO,DTO转VO也这么操作,
最后的VO也是Page类型,可以使用pagehelper进行分页了