在pageHelper插件中,如何把一个list集合的对象转换成page对象。

  1. 在我们日常使用pageHelper插件的过程中,我们通常是在service层中查找数据并把数据直接转换成Page对象。`
  2. 代码如下:
@Override
    public PageResult<Brand> findPage(int page, int size) {
        PageHelper.startPage(page,size);
        Page<Brand> pageResult=(Page<Brand>) brandMapper.selectAll();
        return new PageResult<>(pageResult.getTotal(),pageResult.getResult());
    }`

在service层使用插件封装好的startPage()方法后,直接查找所有的数据,并把返回的数据对象转换成Page对象。

  1. 但是在实战过程中,我们一般都是多表查询,返回来的数据通常都是要映射到其它的bean属性中的,并封装到集合中。这时就需要把一个集合类型的数据转换成page对象。

  2. 解决办法。

1、创建PageResult工具类

package com.qingcheng.entity;

import java.io.Serializable;
import java.util.List;

public class PageResult<T> implements Serializable {

    private Long total;
    private List<T> rows;

    public PageResult(Long total, List<T> rows) {
        this.total = total;
        this.rows = rows;
    }

    public Long getTotal() {
        return total;
    }

    public void setTotal(Long total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }
}

2、在controller层。(这里在service层中没有使用startPage方法)

PageHelper.startPage(page,5);
PageResult res= new PageResult((long) leaveFormList.size(),leaveFormList);

3、结果演示,返回到前台的页面数据为total和rows(list集合中的数据)
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值