/*** 分页对象. 包含当前页数据及分页信息如总记录数.* 能够支持JQuery EasyUI直接对接,能够支持和BootStrap Table直接对接*/
public class Page<T> implements Serializable {private static final long serialVersionUID = 1L;private static final int DEFAULT_PAGE_SIZE = 20;private int pageSize = DEFAULT_PAGE_SIZE; // 每页的记录数private long start; // 当前页第一条数据在List中的位置,从0开始private List<T> rows; // 当前页中存放的记录,类型一般为Listprivate long total; // 总记录数/*** 构造方法,只构造空页.*/public Page() {this(0, 0, DEFAULT_PAGE_SIZE, new ArrayList<T>());}/*** 默认构造方法.* * @param start*            本页数据在数据库中的起始位置* @param totalSize*            数据库中总记录条数* @param pageSize*            本页容量* @param rows*            本页包含的数据*/public Page(long start, long totalSize, int pageSize, List<T> rows) {this.pageSize = pageSize;this.start = start;this.total = totalSize;this.rows = rows;}/*** 取总记录数.*/public long getTotal() {return this.total;}public void setTotal(long total) {this.total = total;}/*** 取总页数.*/public long getTotalPageCount() {if (total % pageSize == 0){return total / pageSize;}else{return total / pageSize + 1;}}/*** 取每页数据容量.*/public int getPageSize() {return pageSize;}/*** 取当前页中的记录.*/public List<T> getRows() {return rows;}public void setRows(List<T> rows) {this.rows = rows;}/*** 取该页当前页码,页码从1开始.*/public long getPageNo() {return start / pageSize + 1;}/*** 该页是否有下一页.*/public boolean hasNextPage() {return this.getPageNo() < this.getTotalPageCount() - 1;}/*** 该页是否有上一页.*/public boolean hasPreviousPage() {return this.getPageNo() > 1;}/*** 获取任一页第一条数据在数据集的位置,每页条数使用默认值.* * @see #getStartOfPage(int,int)*/protected static int getStartOfPage(int pageNo) {return getStartOfPage(pageNo, DEFAULT_PAGE_SIZE);}/*** 获取任一页第一条数据在数据集的位置.* * @param pageNo*            从1开始的页号* @param pageSize*            每页记录条数* @return 该页第一条数据*/public static int getStartOfPage(int pageNo, int pageSize) {return (pageNo - 1) * pageSize;}}

搭建基础架构-Page相关推荐

  1. 从零到一搭建基础架构(2)-如何构建基础架构模块划分

    Hello,这里是爱 Coding,爱 Hiphop,爱喝点小酒的 AKA 柏炎. 本篇是手把手搭建基础架构专栏的第二篇. 在第一篇<从零到一搭建基础架构(1)-玩转maven依赖版本管理> ...

  2. 搭建基础架构-Order

    /*** sql排序组件*/ public class Order {private boolean ascending; //升序还是降序private String propertyName; / ...

  3. 搭建基础架构-QueryRule

    /*** 查询规则构造器,实现多条件复杂查询的条件拼接* Role 角色,Rule 尺子,规则*/ public final class QueryRule implements Serializab ...

  4. 搭建基础架构-ResultMsg

    //最底层设计 public class ResultMsg<T> implements Serializable {private static final long serialVer ...

  5. SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操 ...

  6. [翻译]用 Puppet 搭建易管理的服务器基础架构(3)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第三部分. 本文由 伯乐在线 - Wing 翻译,黄利民 校稿.未经许可,禁止转载! 英文出处:Manuel Kiessling.欢迎 ...

  7. SpringCloud 基础架构搭建

    SpringCloud 基础架构搭建 一.基础环境 (一)安装Redis (二)安装Nacos 访问地址:http://localhost:8848/nacos/#/login 出现以下界面,则安装成 ...

  8. vue.js项目实战运用篇之抖音视频APP-第二节:项目基础架构搭建

    [温馨提示]:若想了解更多关于本次项目实战内容,可转至vue.js项目实战运用篇之抖音视频APP-项目规划中进一步了解项目规划. [项目地址] 项目采用Git进行管理,最终项目将会发布到GitHub中 ...

  9. 背后的力量 | 搭建新型IT基础架构 华云数据助力妇幼保健院提升数字化医院建设水平

    某市妇幼保健院创建于1953 年,是黔北地区唯一一所集临床医疗.科研 教学.预防保健.康复.基层卫生指导等功能为一体的三级妇幼保健院. 华云数据(微信号:chinac_com)是中国领先的综合云计算服 ...

最新文章

  1. jupyter 写入csv pandas_Pandas 最详细教程在这里
  2. 酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器
  3. 巧解Android时区加载过慢的问题
  4. Java中print、printf、println的区别 详解
  5. Ubuntu图形界面配置开机自启动
  6. vijos p1143(三取方格数)(100)
  7. Normal Data Structure Tricks
  8. javascript 数字精度问题
  9. mysql recordcount 1_[转载]ADO记录集GetRecordCount()返回记录条数为啥总为-1
  10. spring boot 1.5.4 整合webService(十五)
  11. vue 钉钉授权第三方WEB网站扫码登录功能
  12. 景观干扰度(arcgis和fragstats)
  13. 【js】js获取今日和昨日0点和23点59分59秒
  14. lua在线手册 lua在线lua学习教程 lua参考手册中文翻译
  15. Hellow Python之打包 exe 文件超级试错
  16. java牛奶订购系统,Java IO系统
  17. 谁说前端不能搞红黑树,用这55张图拿JS一起手撕红黑树
  18. 【时间序列】TFT:Temporal Fusion Transformers
  19. [转] 能不吃最好别吃:一个食品专业本科生的自白
  20. 设计模式学习——设计模式的七大原则

热门文章

  1. ActionScript 3.0 概要
  2. Java程序员大神给初学者的学习方法路线建议
  3. 第一章 java多线程
  4. unittest单元测试简单介绍
  5. Spring Boot 启动载入数据 CommandLineRunner
  6. 机房重构 之 抽象工厂+反射+配置文件 实现数据库訪问
  7. 随想(二):简化别人的工作,就是简化自己的工作,节省自己的时间
  8. MySQL Workbench 导出数据库脚本(图文)
  9. 分页控件 实战 Post篇
  10. Confluence 6 索引支持的语言并进行修改