大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂

前言

现在是2022年4月16日21:44:05!今天分享一个代码段,个人觉得还是比较有参考性的。

  1. 后端使用框架:bladex
  2. 前端使用技术:AVue
  3. 功能:自定义分页
  4. 实现思路:由于业务上涉及到了多个表进行关联查询,所有直接使用框架自带的分页无法满足前端分页,所以就想着自己封装一个吧,现在记录记录,等后面自己用到的时候回来看看,也希望能帮助其他人。

实现代码

整体思路是这样的:

  • 查询当前用户下的所有应用
  • 查询每个应用下的所有设备
  • 将查询出来的设备信息封装在分页工具类中
  • 给前端传回去分页对象

比较麻烦的地方就在于,计算当前页以及将当前页的信息放在集合中传出去,下面是实现代码:

/*** 分页 设备流程表*/@GetMapping("/list")@ApiOperationSupport(order = 2)@ApiOperation(value = "分页", notes = "传入equipment")public R<IPage<Equipment>> list(Equipment equipment, Query query) {//获取当前用户应用Application application = new Application();application.setUserId(AuthUtil.getUserId());List<Application> appList = applicationService.list(Condition.getQueryWrapper(application).select("app_id"));List<Equipment> equipmentList = new ArrayList<>();for(Application app : appList){QueryWrapper<Equipment> equipmentQueryWrapper = new QueryWrapper<>();equipmentQueryWrapper.eq("application_id",app.getAppId());List<Equipment> eList = equipmentService.list(equipmentQueryWrapper);for(Equipment e : eList){equipmentList.add(e);}}//新的集合List<Equipment> equipmentListNew = new ArrayList<>();//当前页//如果是第一页,0-10//第二页,11-20Integer current = (query.getCurrent()-1)*query.getSize();//页大小Integer pageSize = query.getSize();if(equipmentList.size()<pageSize){pageSize = equipmentList.size();}else if(query.getCurrent()>1) {if (equipmentList.size() % query.getSize() != 0) {pageSize = (pageSize * (query.getCurrent() - 1)) + (equipmentList.size() % query.getSize());}else{pageSize =  pageSize * query.getCurrent();}}for(int i = current;i<pageSize;i++){equipmentListNew.add(equipmentList.get(i));}IPage<Equipment> pages =new Page<>();pages.setRecords(equipmentListNew);pages.setSize(query.getSize());pages.setCurrent(query.getCurrent());pages.setTotal(equipmentList.size());return R.data(pages);}pages.setTotal(equipmentList.size());return R.data(pages);}

bladex自定义分页相关推荐

  1. GridView自定义分页导航

    自己做的一个项目中所运用到的技术:| 1.         日历控件(带时分秒) 2.         GridView 批量删除,自定义分页,定位页码 3.         GridView 修改 ...

  2. Asp.net中DataGrid控件的自定义分页

    使用实现起来虽然比较方便,但是效率不高,每次都需要读取所有页(整个记录集),而加载的只是其中一页,造成了资源的浪费,记录多又会使效率变得很低.下面通过DataGrid的自定义分页功能来减少资源使用和提 ...

  3. ASP.NET 2.0在SQL Server 2005上自定义分页

    这篇文章讲述了如何利用SQL Server 2005的新特性来简单高效的实现分页.对于那些暂时还没用到SQL Server2005的人们,请看在大规模数据中的高效分页方法.如果需要,这篇文章会补上这里 ...

  4. GridView自定义分页样式(上一页,下一页,到第几页)(新手教程)

    今天要为网站做一个文章列表,发现GridView的分页样式很难看,于是结合网上的例子,自己做了一个.不是很美观,不过还是很实用的,先看下效果吧,如图(1).演示地址http://www.veryam. ...

  5. 自定义分页(模块化)

    自定义分页 1.目的&环境准备 目的把分页写成一个模块的方式然后在需要分页的地方直接调用模块就行了. 环境准备Django中生成一个APP并且注册,配置URL&Views 配置URL ...

  6. DataList自定义分页

    Asp.net里头,像DataList,Repeater,DataGrid,GridView,FormView包括Asp.net3.5中的ListView这几种服务器数据绑定控件,是在开发中经常需要用 ...

  7. Laravel自定义分页样式

    Laravel 的分页组件默认为 Bootstrap 的分页样式,但如果我们用的并不是 Bootstrap 或者说分页的 HTML结构不一样,这时我们需要自定义分页.其实 Laravel 的分页组件是 ...

  8. Django框架详细介绍---cookie、session、自定义分页

    1.cookie 在HTTP协议介绍中提到,该协议是无状态的,也就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的 ...

  9. Sql Server 2005自定义分页

    前面一篇随笔,我提到了Sql Server 2000的自定义分页,但是在sql server 2000中,要实现显示某一页,就返回那一页数据的效果的方法实在不尽人意.网上很多通用的分页存储过程,但看着 ...

最新文章

  1. 【BZOJ】1034: [ZJOI2008]泡泡堂BNB(贪心)
  2. rsync命令_浅谈利用rsync服务的攻击
  3. 电脑开机3秒就重启循环_电脑修好后客户不愿支付上门费,行,那电脑开机60秒自动关机吧!...
  4. 360互联网技术训练营第七期 -“遇见”PIKA 续集
  5. 组装复杂json请求数据和解析复杂json数据
  6. 不使用软盘加载驱动安装系统的方法--使用nLite集成驱动
  7. WCF DataService调试时的一些问题
  8. JSP实用教程 第三章 JSP内置对象
  9. python alphago_资源 | 如何通过 Python 打造一款简易版 AlphaGo?
  10. 计算机运行命令jar,jar文件打开教程
  11. 如何压缩pdf文件的大小?
  12. Swagger2集成JWT登陆步骤,结合Spring拦截器自定义需要登陆的URL
  13. CentOS 7 Shipyard启动时一直显示省略号的解决办法
  14. android自动夜间模式,Android实现日夜间模式的深入理解
  15. 第3章(3.11~3.16节)模型细节/Kaggle实战【深度学习基础】--动手学深度学习【Tensorflow2.0版本】
  16. win10笔记本触摸板点击没反应
  17. 有关FLOPS的定义与计算
  18. [附源码]Nodejs计算机毕业设计基于JAVA的校园电车租赁系统Express(程序+LW)
  19. dwmac/stmmac/eqos 远程唤醒(WOL) 驱动
  20. AndroidStudio百度地图开发之显示地图

热门文章

  1. [蓝桥杯2019初赛]等差数列-数列
  2. C++string容器-构造函数
  3. 操作系统习题——(习题二)
  4. oracle导出BOM文件,ORACLE ERP导数据(BOM清单)-备份恢复-Oracle频道-中国IT实验室
  5. java继承层次结构,在状态模式中实现继承层次结构 - java
  6. Leetcode 35.搜索插入位置 二分
  7. 操作系统——缓冲区溢出
  8. Acwing 217. 绿豆蛙的归宿
  9. 1305. GT考试
  10. P3128 [USACO15DEC]Max Flow P