Java——分页
来源:互联网 发布:现在做网络销售怎么样 编辑:程序博客网 时间:2024/05/20 23:32
/** * 分页 * This class is used for ... * @author Bdong * @version * 1.0, 2016年5月21日 上午11:42:02 */public class Pagination<T> { //总数据条数 private int total; //总页数 private int pageCount; //每页数据条数 private int pageSize; //当前页数 private int pageIndex; //数据集 private List<T> rows; //当前页数据起始位置 private int start; //当前页数据结束位置 private int end; //分页开关 private boolean flag; public void init(){ if(pageSize!=0){ //总页数=总数据条数/总页数 int pageCountTemp=(int)total/pageSize; if(total>=pageSize){ this.pageCount=total%pageSize==0?pageCountTemp:pageCountTemp+1; }else{ this.pageCount=1; } //判断页数和当前页数 if(pageIndex>pageCount){ pageIndex=pageCount; } //如果每页数据条数小于1,则修正为1 if(pageSize<1){ pageSize=1; } //如果设置的每页数据条数大于真实数据条数,则修正为真实数据条数 if(pageSize>rows.size()){ pageSize=rows.size(); } //根据当前页计算起始和结束条目 this.start=(pageIndex-1)*pageSize+1; this.end=this.start+this.pageSize-1; //结束数据下标大于数据总数,则修正 if(this.end>rows.size()){ this.end=rows.size(); } if(this.flag){ this.rows=rows.subList(start-1, end); } } } /** * 构造方法, * @param pageIndex * @param totalCount * @param pageCount */ public Pagination(int pageIndex, int total, int pageSize,boolean flag) { super(); this.pageIndex = pageIndex; this.total = total; this.pageSize = pageSize; this.flag = flag; } /** * 构造方法 * @param pageIndex * @param totalCount * @param pageCount * @param dataList */ public Pagination(int pageIndex, int total, int pageSize, List<T> rows,boolean flag) { super(); this.pageIndex = pageIndex; this.total = total; this.pageSize = pageSize; this.rows = rows; this.flag = flag; } /** * 无参构造 */ public Pagination() { super(); // TODO Auto-generated constructor stub } /** * 重写toString,打印Json字符串 */ @Override public String toString() { return "\"total\":" + total + ", \"end\":" + end + ", \"rows\":" + rows + ", \"pageCount\":" + pageCount + ", \"pageIndex\":" + pageIndex + ", \"pageSize\":" + pageSize + ", \"start\":" + start; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageIndex() { return pageIndex; } public void setPageIndex(int pageIndex) { this.pageIndex = pageIndex; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getEnd() { return end; } public void setEnd(int end) { this.end = end; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public List<T> getRows() { return rows; } public void setRows(List<T> rows) { this.rows = rows; }}
使用实例
·int pageIndex 当前页数
·int total 总数据条数
·int pageSize 每页数据条数
·List rows 数据集
·boolean flag 分页开关
Pagination<Object> pagination=new Pagination<Object>(pageIndex,total,pageCount,list,true).init();
0 0
- Java——分页
- java——分页
- java分页之页面分页—@易小川
- 【Java技术点滴】——分页查询
- 【java】——假分页探索
- Java Web—数据库分页操作
- JAVA高级【4.8】《Java核心技术2》数据库-JavaWeb分页显示内容——数据库分页查询
- java编程技巧——java list实现分页
- Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
- Java Web中的分页显示——通过界面实现
- Java编程琐事(7)——封装JDBC分页
- 菜鸟学Java(十)——分页查询
- 分页的封装——java实现(基于oracle)
- Java进阶学习第二十天——分页与Listener
- Java——JDBC操作数据库,分页查询
- Java基础知识(七)——数据库分页
- JDBC在Java Web中的应用——分页查询
- java编写网页爬虫(分页——插入数据…
- DateUtil--日期转换工具
- hive(0.12.0)配置并启动hwi
- ueditor编辑器
- ORACLE 11g RAC部署GRID过程中遇到的问题总结
- EL表达式
- Java——分页
- Ryan的OC学习总结-----2 OC中的面向对象特性
- 期末答辩结束开启新的历程
- 关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题
- leetcode: Majority Element
- 闲暇博客
- 线程死锁问题
- 软中断\tasklet\工作队列
- MP 新版本 [3 mysql sequelize 数据库到前端页面渲染]