巧用subList()方法对一览数据进行分页操作

PageBean类作为分页插件,感觉是可以共用的。

//分页代码
public class PageBean implements Serializable {
    private int curPage;             //当前页
    private int pageCount;           //总页数
    private int rowsCount;           //总行数
    private int pageSize = 10;         //每页多少行


    public PageBean(int rows) {

        this.setRowsCount(rows);
        if (this.rowsCount % this.pageSize == 0) {
            this.pageCount = this.rowsCount / this.pageSize;
        } else if (rows < this.pageSize) {
            this.pageCount = 1;
        } else {
            this.pageCount = this.rowsCount / this.pageSize + 1;
        }
    }


    public int getCurPage() {
        return curPage;
    }

    public void setCurPage(int curPage) {
        this.curPage = curPage;
    }

    public int getPageCount() {
        return pageCount;
    }

    public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getRowsCount() {
        return rowsCount;
    }

    public void setRowsCount(int rowsCount) {
        this.rowsCount = rowsCount;
    }
}

而我们的controller层在调用的时候,可以以下这么写,只是一个小测试,估计的可根据自己的逻辑进行代码修改就好.
controller层代码如下:

@GetMapping("/list")
    public List getMFnnclChangeList(Integer page, Integer pagesize) {
        //调用一览查询接口
        List<MFnnclChange> mFnnclChangeList = mFnnclChangeService.findAll();
        PageBean pageBean = new PageBean(mFnnclChangeList.size());
        //对于未传入的字段值,赋值默认的
        if (page == null) {
            page = 1;
        }
        if (pagesize == null) {
            pagesize = pageBean.getPageSize();
        }

        pageBean.setCurPage(page); //页

        //formIndex 代表开始的索引,toIndex 代表结束的
        int formIndex = (page - 1) * pagesize; //获得分页数据在list集合中的索引  即数据开始位置
        int toIndex = page * pagesize; //即结束的位置

        if (toIndex > mFnnclChangeList.size()) {
            toIndex = mFnnclChangeList.size();
        }

        if (formIndex > toIndex) {
            formIndex = 0;
            pageBean.setCurPage(1);
        }

        //list中subList的方法代表取得下标从formIndex开始,到toIndex结束的数据,但是不包含后者
        //举个例子  subList.(0,3)  代表的是下标从0开始,到3结束,只取到下标为2的数据。
        List courseList = mFnnclChangeList.subList(formIndex, toIndex);

        return courseList;
    }

这一步就很简单了,调用PageBean类中的变量,在最后调用List集合中自带的subList方法,也能完成分页操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值