已经查到User列表,想返回userVo列表,这里Ipage是个接口,要怎么转换呢?

来源:4-2 分页查询

慕仰9399367

2020-03-28 16:43

public IPage<OrderVo> pageOrderByQuery() {
    QueryWrapper<Order> queryWrapper = new QueryWrapper<Order>();
    IPage<Order> page1 = orderMapper.selectPage(new Page(), queryWrapper);
            //这里Ipage是一个接口,如何将Ipage<Order> 转成Ipage<OrderVo>
    return page1;
}


写回答 关注

4回答

  • 老猿
    2020-03-31 18:08:45

    可以调用IPage接口中的一个默认方法实现,该默认方法MP已经给我们实现,如下:

    /**
     * IPage 的泛型转换
     *
     * @param mapper 转换函数
     * @param <R>    转换后的泛型
     * @return 转换泛型后的 IPage
     */
    @SuppressWarnings("unchecked")
    default <R> IPage<R> convert(Function<? super T, ? extends R> mapper) {
        List<R> collect = this.getRecords().stream().map(mapper).collect(toList());
        return ((IPage<R>) this).setRecords(collect);
    }


    慕码人029... 回复慕设计347...

    请问你怎么解决的,能贴一下代码么

    2021-07-09 11:42:23

    共 7 条回复 >

  • qq_慕盖茨71252
    2020-05-07 16:56:44

    123

  • 土木之殇
    2020-03-28 19:17:32
    List<User> list = iPage.getRecords();


  • 慕容1277038
    2020-03-28 19:10:13

    可以自定义一个转换函数,将转换完的结果返回

MyBatis-Plus入门

MyBatis-Plus框架入门必学课程!

56140 学习 · 381 问题

查看课程

相似问题