【分页插件】分页工具类的使用

本文介绍了一个Java分页工具类的实现,包括从WrapperResponse转换为PageResult对象的方法,以及从List转换为分页对象的逻辑。此外,还展示了如何在实际查询操作中使用这些工具方法进行分页查询,如在queryRewardsInfo方法中的应用。该工具类简化了前后端分页数据交互的过程。

在生产中查询出的List集合数据需要分页传到前端。


一、分页工具类

/**
 * 分页工具类
 */
public class PayUtil {
   
   

  /**
   * 转换WrapperResponse<PageResult>里面的dto
   *
   * @param res   需要装换的WrapperResponse<PageResult<K>>
   * @param clazz 装换目标dto对象
   * @return WrapperResponse<PageResult < T>
   */
  public static <K, T> WrapperResponse<PageResult<T>> convertWrapperPageResultData(WrapperResponse<PageResult<K>> res, Class<T> clazz) {
   
   
    //新建WrapperResponse对象
    WrapperResponse<PageResult<T>> response = new WrapperResponse<>();
    //设置WrapperResponse对象的属性值
    response.setCode(res.getCode());
    response.setType(res.getType());
    response.setMessage(res.getMessage());
    //入参PageResult对象
    PageResult<K> pageParam = res.getData();
    //新建PageResult对象
    PageResult<T> page = new PageResult<>();
    //设置PageResult对象的属性值
    page.setPageNum(pageParam.getPageNum());
    page.setPageSize(pageParam.getPageSize());
    page.setSize(pageParam.getSize());
    page.setStartRow(pageParam.getStartRow());
    page.setEndRow(pageParam.getEndRow());
    page.setPages(pageParam.getPages());
    page.setRecordCounts(pageParam.getRecordCounts());
    page.setFirstPage(pageParam.isFirstPage());
    page.setLastPage(pageParam.isLastPage());
    //设置WrapperResponse对象的data值
    response.setData(page);
    //流处理dto装换
    List<T> castList = res.getData().getData().stream().map(
        dto -> (T) PowerBeanHelper.convertToBean(dto, clazz)
    ).collect(Collectors.toList());
    //设置PageResult对象的data值
    page.setData(castList);
    //返回结果
    return response;
  }

  /**
   * WrapperResponse<List>转换为分页对象WrapperResponse<PageResult>
   *
   * @param res      要装换的WrapperResponse<List<T>>
   * @param pageNum  分页数
   * @param pageSize 分页大小
   * @return WrapperResponse<PageResult < T>>
   */
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值