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

当前文章收录状态:
未收录

背景

若依框架封装的 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;
}
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;
}
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赞赏 分享
Happiness is not something you postpone for the future; it is something you design for the present.
幸福不应该留到未来品尝,幸福是你专门为当下的自己所准备的
评论 抢沙发

请登录后发表评论

    暂无评论内容