MybatisPlus分页类型转换 不要在用循环转换了

使用MybatisPlus查询的sql,返回的必须是一个对应表实体的泛型分页数据
我们给前端返回只需返回VO,我们可能会循环进行对象复制从新赋值
优化:MybatisPlus分页对象有直接转换的方法

优化前

// 最终分页对象
Page<ResultVO> resultPage = new Page<ResultVO>();
List<ResultVO> resultList = new ArrayList<ResultVO>();
// 使用MybatisPlus查询
Page<PayTradeOrderEntity> page = this.selectPage(
        new Query<PayTradeOrderEntity>(params).getPage(),
        null);
        // 循环
List<PayTradeOrderEntity> records = page.getRecords();
for (PayTradeOrderEntity record : records) {
    ResultVO vo = new ResultVO();
    BeanUtil.copyProperties(record, vo);
    resultList.add(vo);
}
resultPage.setRecords(resultList);
resultPage.setCurrent(page.getCurrent());
resultPage.setSize(page.getSize());
resultPage.setTotal(page.getTotal());

优化后

// 使用MybatisPlus查询......
Page<InterestEntity> resultPage = new Page();

// 最终返回分页对象
IPage<InterestProcessVO> convertPage = resultPage.convert(result -> {
    InterestProcessVO vo = new InterestProcessVO();
    BeanUtil.copyProperties(result, vo)
    return vo;
});

注意:分页转换器方法体必须使用返回值

posted @ 2022-05-24 14:25  勇不停歇  阅读(1531)  评论(0)    收藏  举报