ylbtech-Java-Class-C:com.github.pagehelper.PageInfo
1.返回顶部
 
2.返回顶部
1.1、

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

1.2、
  1. @ApiOperation(value = "查询拼团情况列表")
  2. @PostMapping("/selectGroupSituationListById")
  3. public Result selectGroupSituationListById(HttpServletRequest request, @RequestBody() Map pa) {
  4. try {
  5. String organizationId = TokenUtils.getOrganizationId(request, jwtUtil);
  6.  
  7. int pno = (int) pa.get("pno");
  8. int psize = (int) pa.get("psize");
  9. PageHelper.startPage(pno, psize);
  10. pa.put("organizationId",organizationId);
  11. List<Map> list = grouactivityMapper.selectGroupSituationListById(pa);
  12. PageInfo<Map> pageInfo = PageInfo.of(list);
  13. return ResultGenerator.genOkResult(pageInfo);
  14. } catch (Exception e) {
  15. log.error("列表异常", e);
  16. return ResultGenerator.genFailedResult(500, "系统异常");
  17. }
  18. }
1.3、
3.返回顶部
 
4.返回顶部
1、
  1. /*
  2. * The MIT License (MIT)
  3. *
  4. * Copyright (c) 2014-2017 abel533@gmail.com
  5. *
  6. * Permission is hereby granted, free of charge, to any person obtaining a copy
  7. * of this software and associated documentation files (the "Software"), to deal
  8. * in the Software without restriction, including without limitation the rights
  9. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10. * copies of the Software, and to permit persons to whom the Software is
  11. * furnished to do so, subject to the following conditions:
  12. *
  13. * The above copyright notice and this permission notice shall be included in
  14. * all copies or substantial portions of the Software.
  15. *
  16. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  22. * THE SOFTWARE.
  23. */
  24.  
  25. package com.github.pagehelper;
  26.  
  27. import java.util.Collection;
  28. import java.util.List;
  29.  
  30. /**
  31. * 对Page<E>结果进行包装
  32. * <p/>
  33. * 新增分页的多项属性,主要参考:http://bbs.csdn.net/topics/360010907
  34. *
  35. * @author liuzh/abel533/isea533
  36. * @version 3.3.0
  37. * @since 3.2.2
  38. * 项目地址 : http://git.oschina.net/free/Mybatis_PageHelper
  39. */
  40. @SuppressWarnings({"rawtypes", "unchecked"})
  41. public class PageInfo<T> extends PageSerializable<T> {
  42. //当前页
  43. private int pageNum;
  44. //每页的数量
  45. private int pageSize;
  46. //当前页的数量
  47. private int size;
  48.  
  49. //由于startRow和endRow不常用,这里说个具体的用法
  50. //可以在页面中"显示startRow到endRow 共size条数据"
  51.  
  52. //当前页面第一个元素在数据库中的行号
  53. private int startRow;
  54. //当前页面最后一个元素在数据库中的行号
  55. private int endRow;
  56. //总页数
  57. private int pages;
  58.  
  59. //前一页
  60. private int prePage;
  61. //下一页
  62. private int nextPage;
  63.  
  64. //是否为第一页
  65. private boolean isFirstPage = false;
  66. //是否为最后一页
  67. private boolean isLastPage = false;
  68. //是否有前一页
  69. private boolean hasPreviousPage = false;
  70. //是否有下一页
  71. private boolean hasNextPage = false;
  72. //导航页码数
  73. private int navigatePages;
  74. //所有导航页号
  75. private int[] navigatepageNums;
  76. //导航条上的第一页
  77. private int navigateFirstPage;
  78. //导航条上的最后一页
  79. private int navigateLastPage;
  80.  
  81. public PageInfo() {
  82. }
  83.  
  84. /**
  85. * 包装Page对象
  86. *
  87. * @param list
  88. */
  89. public PageInfo(List<T> list) {
  90. this(list, 8);
  91. }
  92.  
  93. /**
  94. * 包装Page对象
  95. *
  96. * @param list page结果
  97. * @param navigatePages 页码数量
  98. */
  99. public PageInfo(List<T> list, int navigatePages) {
  100. super(list);
  101. if (list instanceof Page) {
  102. Page page = (Page) list;
  103. this.pageNum = page.getPageNum();
  104. this.pageSize = page.getPageSize();
  105.  
  106. this.pages = page.getPages();
  107. this.size = page.size();
  108. //由于结果是>startRow的,所以实际的需要+1
  109. if (this.size == 0) {
  110. this.startRow = 0;
  111. this.endRow = 0;
  112. } else {
  113. this.startRow = page.getStartRow() + 1;
  114. //计算实际的endRow(最后一页的时候特殊)
  115. this.endRow = this.startRow - 1 + this.size;
  116. }
  117. } else if (list instanceof Collection) {
  118. this.pageNum = 1;
  119. this.pageSize = list.size();
  120.  
  121. this.pages = this.pageSize > 0 ? 1 : 0;
  122. this.size = list.size();
  123. this.startRow = 0;
  124. this.endRow = list.size() > 0 ? list.size() - 1 : 0;
  125. }
  126. if (list instanceof Collection) {
  127. this.navigatePages = navigatePages;
  128. //计算导航页
  129. calcNavigatepageNums();
  130. //计算前后页,第一页,最后一页
  131. calcPage();
  132. //判断页面边界
  133. judgePageBoudary();
  134. }
  135. }
  136.  
  137. public static <T> PageInfo<T> of(List<T> list) {
  138. return new PageInfo<T>(list);
  139. }
  140.  
  141. public static <T> PageInfo<T> of(List<T> list, int navigatePages) {
  142. return new PageInfo<T>(list, navigatePages);
  143. }
  144.  
  145. /**
  146. * 计算导航页
  147. */
  148. private void calcNavigatepageNums() {
  149. //当总页数小于或等于导航页码数时
  150. if (pages <= navigatePages) {
  151. navigatepageNums = new int[pages];
  152. for (int i = 0; i < pages; i++) {
  153. navigatepageNums[i] = i + 1;
  154. }
  155. } else { //当总页数大于导航页码数时
  156. navigatepageNums = new int[navigatePages];
  157. int startNum = pageNum - navigatePages / 2;
  158. int endNum = pageNum + navigatePages / 2;
  159.  
  160. if (startNum < 1) {
  161. startNum = 1;
  162. //(最前navigatePages页
  163. for (int i = 0; i < navigatePages; i++) {
  164. navigatepageNums[i] = startNum++;
  165. }
  166. } else if (endNum > pages) {
  167. endNum = pages;
  168. //最后navigatePages页
  169. for (int i = navigatePages - 1; i >= 0; i--) {
  170. navigatepageNums[i] = endNum--;
  171. }
  172. } else {
  173. //所有中间页
  174. for (int i = 0; i < navigatePages; i++) {
  175. navigatepageNums[i] = startNum++;
  176. }
  177. }
  178. }
  179. }
  180.  
  181. /**
  182. * 计算前后页,第一页,最后一页
  183. */
  184. private void calcPage() {
  185. if (navigatepageNums != null && navigatepageNums.length > 0) {
  186. navigateFirstPage = navigatepageNums[0];
  187. navigateLastPage = navigatepageNums[navigatepageNums.length - 1];
  188. if (pageNum > 1) {
  189. prePage = pageNum - 1;
  190. }
  191. if (pageNum < pages) {
  192. nextPage = pageNum + 1;
  193. }
  194. }
  195. }
  196.  
  197. /**
  198. * 判定页面边界
  199. */
  200. private void judgePageBoudary() {
  201. isFirstPage = pageNum == 1;
  202. isLastPage = pageNum == pages || pages == 0;
  203. hasPreviousPage = pageNum > 1;
  204. hasNextPage = pageNum < pages;
  205. }
  206.  
  207. public int getPageNum() {
  208. return pageNum;
  209. }
  210.  
  211. public void setPageNum(int pageNum) {
  212. this.pageNum = pageNum;
  213. }
  214.  
  215. public int getPageSize() {
  216. return pageSize;
  217. }
  218.  
  219. public void setPageSize(int pageSize) {
  220. this.pageSize = pageSize;
  221. }
  222.  
  223. public int getSize() {
  224. return size;
  225. }
  226.  
  227. public void setSize(int size) {
  228. this.size = size;
  229. }
  230.  
  231. public int getStartRow() {
  232. return startRow;
  233. }
  234.  
  235. public void setStartRow(int startRow) {
  236. this.startRow = startRow;
  237. }
  238.  
  239. public int getEndRow() {
  240. return endRow;
  241. }
  242.  
  243. public void setEndRow(int endRow) {
  244. this.endRow = endRow;
  245. }
  246.  
  247. public int getPages() {
  248. return pages;
  249. }
  250.  
  251. public void setPages(int pages) {
  252. this.pages = pages;
  253. }
  254.  
  255. public int getPrePage() {
  256. return prePage;
  257. }
  258.  
  259. public void setPrePage(int prePage) {
  260. this.prePage = prePage;
  261. }
  262.  
  263. public int getNextPage() {
  264. return nextPage;
  265. }
  266.  
  267. public void setNextPage(int nextPage) {
  268. this.nextPage = nextPage;
  269. }
  270.  
  271. public boolean isIsFirstPage() {
  272. return isFirstPage;
  273. }
  274.  
  275. public void setIsFirstPage(boolean isFirstPage) {
  276. this.isFirstPage = isFirstPage;
  277. }
  278.  
  279. public boolean isIsLastPage() {
  280. return isLastPage;
  281. }
  282.  
  283. public void setIsLastPage(boolean isLastPage) {
  284. this.isLastPage = isLastPage;
  285. }
  286.  
  287. public boolean isHasPreviousPage() {
  288. return hasPreviousPage;
  289. }
  290.  
  291. public void setHasPreviousPage(boolean hasPreviousPage) {
  292. this.hasPreviousPage = hasPreviousPage;
  293. }
  294.  
  295. public boolean isHasNextPage() {
  296. return hasNextPage;
  297. }
  298.  
  299. public void setHasNextPage(boolean hasNextPage) {
  300. this.hasNextPage = hasNextPage;
  301. }
  302.  
  303. public int getNavigatePages() {
  304. return navigatePages;
  305. }
  306.  
  307. public void setNavigatePages(int navigatePages) {
  308. this.navigatePages = navigatePages;
  309. }
  310.  
  311. public int[] getNavigatepageNums() {
  312. return navigatepageNums;
  313. }
  314.  
  315. public void setNavigatepageNums(int[] navigatepageNums) {
  316. this.navigatepageNums = navigatepageNums;
  317. }
  318.  
  319. public int getNavigateFirstPage() {
  320. return navigateFirstPage;
  321. }
  322.  
  323. public int getNavigateLastPage() {
  324. return navigateLastPage;
  325. }
  326.  
  327. public void setNavigateFirstPage(int navigateFirstPage) {
  328. this.navigateFirstPage = navigateFirstPage;
  329. }
  330.  
  331. public void setNavigateLastPage(int navigateLastPage) {
  332. this.navigateLastPage = navigateLastPage;
  333. }
  334.  
  335. @Override
  336. public String toString() {
  337. final StringBuilder sb = new StringBuilder("PageInfo{");
  338. sb.append("pageNum=").append(pageNum);
  339. sb.append(", pageSize=").append(pageSize);
  340. sb.append(", size=").append(size);
  341. sb.append(", startRow=").append(startRow);
  342. sb.append(", endRow=").append(endRow);
  343. sb.append(", total=").append(total);
  344. sb.append(", pages=").append(pages);
  345. sb.append(", list=").append(list);
  346. sb.append(", prePage=").append(prePage);
  347. sb.append(", nextPage=").append(nextPage);
  348. sb.append(", isFirstPage=").append(isFirstPage);
  349. sb.append(", isLastPage=").append(isLastPage);
  350. sb.append(", hasPreviousPage=").append(hasPreviousPage);
  351. sb.append(", hasNextPage=").append(hasNextPage);
  352. sb.append(", navigatePages=").append(navigatePages);
  353. sb.append(", navigateFirstPage=").append(navigateFirstPage);
  354. sb.append(", navigateLastPage=").append(navigateLastPage);
  355. sb.append(", navigatepageNums=");
  356. if (navigatepageNums == null) {
  357. sb.append("null");
  358. } else {
  359. sb.append('[');
  360. for (int i = 0; i < navigatepageNums.length; ++i) {
  361. sb.append(i == 0 ? "" : ", ").append(navigatepageNums[i]);
  362. }
  363. sb.append(']');
  364. }
  365. sb.append('}');
  366. return sb.toString();
  367. }
  368. }
2、
5.返回顶部
 
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Java-Class-C:com.github.pagehelper.PageInfo的更多相关文章

  1. Java-Class-C:com.github.pagehelper.PageHelper

    ylbtech-Java-Class-C:com.github.pagehelper.PageHelper 1.返回顶部   2.返回顶部 1.1. import com.github.pagehel ...

  2. Java WebSocket库:https://github.com/TooTallNate/Java-WebSocket

    https://github.com/TooTallNate/Java-WebSocket 以下是简单示例: import com.google.gson.JsonObject; import com ...

  3. SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述如何在SpringBoot中整合PageHelper,如何实现带多个条件,以及PageInfo中的 ...

  4. java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.github.pagehelper.Page pagehelper报错无法类型转化。

    报错信息: 严重: Servlet.service() for servlet [springmvc] in context with path [] threw exception [Request ...

  5. java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.github.pagehelper.Page

    出现这个错误,首先看配置mybatis-config.xml中的<plugins> <plugin interceptor="com.github.pagehelper.P ...

  6. 20个GitHub最热门的Java开源项目:文档、框架、工具

    专注于Java领域优质技术,欢迎关注 文章来源:JavaGuide 以下涉及到的数据统计,数据来源:https://github.com/trending/java?since=monthly[1] ...

  7. Mybatis的分页插件com.github.pagehelper

    1. 需要引入PageHelper的jar包 如果没有使用maven,那直接把jar包导入到lib文件夹下即可,这个PageHelper插件在github上有开源, 地址为:https://githu ...

  8. Github PageHelper 原理解析

    任何服务对数据库的日常操作,都离不开增删改查.如果一次查询的纪录很多,那我们必须采用分页的方式.对于一个Springboot项目,访问和查询MySQL数据库,持久化框架可以使用MyBatis,分页工具 ...

  9. Java基础20:Java8新特性终极指南

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

随机推荐

  1. [NOIP模拟测试37]反思+题解

    一定要分析清楚复杂度再打!!!窝再也不要花2h20min用暴力对拍暴力啦!!! 雨露均沾(滑稽),尽量避免孤注一掷.先把暴力分拿全再回来刚正解. 即使剩下的时间不多了也优先考虑认真读题+打暴力而非乱搞 ...

  2. php开发面试题---php 对swoole的理解

    php开发面试题---php 对swoole的理解 一.总结 一句话总结: 以战养学,实例驱动 swoole是披着PHP外衣的C程序:其实就是c.java那些语言里面的高阶功能:比如 持久连接.异步通 ...

  3. VMware 克隆 CenterOS 虚拟机

    前面介绍了VMware 安装CenterOS 6.9,现在再介绍下 VMware 克隆虚拟机,克隆虚拟机可以快速的创建虚拟机,免去重复安装的烦恼. 一.VMware 克隆 CenterOS 虚拟机 选 ...

  4. 用php写爬虫去爬数据

    参考文档1 参考文档2 这里是我自己写的一个小需求 <?php /** 采集http://www.959.cn/school,即时更新的最新的文章内容:每分钟采集一次.采集结束后实时入库并展示. ...

  5. OAccflow集成sql

    SELECT * FROM PORT_EMP WHERE NO='18336309966'SELECT * FROM PORT_DEPT WHERE no='42DBAF50712C4046B09BC ...

  6. Linux(四)—— 项目部署与ansible自动化部署

    目录 项目部署与ansible自动化部署 一.项目部署 二.ansible自动化部署(python自动化运维) 1.安装ansible 2.ansible例子 3.ansible自动化部署nginx ...

  7. Scrapy框架: pipelines.py设置

    保存数据到json文件 # -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your p ...

  8. python基础【第九篇】

    补充知识 1.字符串方法的补充 s = str() s.format() # 格式化输出 "连接符".join("连接的对象") # 拼接 s.find() # ...

  9. 逻辑回归原理,推导,sklearn应用

    目录 逻辑回归原理,推导,及sklearn中的使用 1 从线性回归过渡到逻辑回归 2 逻辑回归的损失函数 2.1 逻辑回归损失函数的推导 2.2 梯度下降法 2.3 正则化 3 用逻辑回归进行多分类 ...

  10. [ACM] POJ 1218 THE DRUNK JAILER (关灯问题)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sr19930829/article/details/37727417 THE DRUNK JAILE ...