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; }
可以调用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); }
123
List<User> list = iPage.getRecords();
可以自定义一个转换函数,将转换完的结果返回