前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >若依框架分页功能对数据进行二次处理

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

作者头像
你的明明呐丶
发布2022-06-27 12:42:56
3.9K1
发布2022-06-27 12:42:56
举报
文章被收录于专栏:用户4184852的专栏

背景

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

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

在git上有关于这个的提问

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

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

实现方法

从startPage()点进去

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

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

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

代码语言:javascript
复制
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(0);
            rspData.setRows(list1);
            rspData.setTotal(num);
            return rspData;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 实现方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档