若依框架分页功能对数据进行二次处理

当前文章收录状态:
查询中...

背景

若依框架封装的 startPage() 方法只对该语句以后的第一个查询(Select)语句得到的数据进行分页

而现在的需求是要对查询到以后进行拼接或筛选的list数据进行分页操作并在前端展示。

在git上有关于这个的提问

若依大佬简单说了解决办法,在此进行详细的补充

图片[1]-若依框架分页功能对数据进行二次处理-明恒博客

实现方法

从startPage()点进去

图片[2]-若依框架分页功能对数据进行二次处理-明恒博客

可以看到这里的pageNum和pageSize是从前端数据里传进来的分页对象的属性

然后对数据进行处理,当固定每页10条数据时:

public TableDataInfo list(SysLogininfor logininfor){            
            PageDomain pageDomain = TableSupport.buildPageRequest();
            Integer pageNum = pageDomain.getPageNum();
            Integer pageSize = pageDomain.getPageSize();

            //过滤数据
            List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
            List<SysLogininfor> list1 = new ArrayList<>();
            for (SysLogininfor sysLogininfor : list) {
                if(sysLogininfor.getLoginName().equals(sysUser.getLoginName())){
                    list1.add(sysLogininfor);
                }
            }

            //获取处理好的list集合
            int num = list1.size();
            list1 = list1.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
            TableDataInfo rspData = new TableDataInfo();
            rspData.setCode(HttpStatus.SUCCESS);
            rspData.setMsg("查询成功");
            rspData.setRows(list1);
            rspData.setTotal(num);
            return rspData;
}
© 版权声明
THE END
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=270198dipw4ko
点赞6赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容