若依框架中有自定义的分页方法

startPage();
SQl;//第一个查询方法
return getDataTable(endParentLists);//endParentLists为sql语句直接查询得到的数据

startPage();可以在sql语句中设定limit查询对应条数的数据,很完美;
有些场景是有的表使用的是parentId在单个表中就可以实现两层树形结构,一个父类算一个数据,所以就不也能简单的用SQL语句的limit来限制查询条数了!

在查询后经过拼接筛选成需要的树形结构后,在进行分页显示,就需要定义一个简单的方法:

    public TableDataInfo getDataList(List<?> demoList) {
        PageDomain pageDomain = TableSupport.buildPageRequest();
        Integer pageNum = pageDomain.getPageNum();
        Integer pageSize = pageDomain.getPageSize();

        int num = demoList.size();
        demoList = demoList.stream()
                .skip((pageNum - 1) * pageSize)
                .limit(pageSize)
                .collect(Collectors.toList());
        TableDataInfo rspData = new TableDataInfo();
        rspData.setCode(HttpStatus.SUCCESS);
        rspData.setRows(demoList);
        rspData.setTotal(num);
        return rspData;
    }

再简单点就是添加了如下代码

		PageDomain pageDomain = TableSupport.buildPageRequest();
        Integer pageNum = pageDomain.getPageNum();
        Integer pageSize = pageDomain.getPageSize();

        int num = demoList.size();
        demoList = demoList.stream()
                .skip((pageNum - 1) * pageSize)
                .limit(pageSize)
                .collect(Collectors.toList());

在方法中手动切分一下。
使用时也很简单操作如下:

startPage();
return getDataList(endParentLists);//endParentLists就是经过筛选后的数据

完结,下个bug再见。
有问题欢迎在留言区提问!

Logo

快速构建 Web 应用程序

更多推荐