分页sql

select top 每页要显示的记录数 * from 表名 where 主键 not in (select top (每页显示的记录数*(当前页-1)) 主键 from 表名 )

select top 5 * from userinfo where id not in (select top (pno-1)*5 id from userinfo )

最大页数
总记录数/每页显示的记录数如果能整除,最大页数为该结果,
如果不能整除,最大页数为该结果+1

如总数为29,每页显示5个,结果为29/5+1
如总数为25,每页显示5个,结果为25/5

数据总记录数
1.使用聚合函数count查询总数
select count(主键) from 表名

2.查询所有记录,添加到一个集合中,使用.size()方法得到总数

分页模板
属性
1.总记录数 count
2.每页显示的记录数 自定义
3.当前页数 动态获取
4.最大页数 总记录数/每页显示的记录数

写在帮助类的分页类

package com.zuxia.util;

import java.util.List;

public class PageModel<T> {

//定义当前页码
private int pageNo=1;
//定义每页显示记录
private int PageSize=5;
//总条记录的条数
private int count;
//定义保存数的集合
private List<T> all;

/**
*
* 首页
* @return
* */
public int getIndex()
{
return 1;
}
/**
* 上一页
* @return
* */
public int getPrePage()
{
int prvPage=pageNo-1;
if(prvPage <1)
{
prvPage=1;
}
return prvPage;
}
/**
* 尾页
* @return
* */
public int getTotal()
{
int totablPage;
if(this.count%PageSize==0)
{
totablPage=count/PageSize;
}
else{
totablPage=count/PageSize;
}
return totablPage;
}

/**
* 下一页
* @return
* */

public int getNextPage()
{
int nextPage=pageNo+1;
if(nextPage>this.getTotal())
{
nextPage=this.getTotal();
}
return getNextPage();
}



public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public int getPageSize() {
return PageSize;
}
public void setPageSize(int pageSize) {
PageSize = pageSize;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public List getAll() {
return all;
}
public void setAll(List all) {
this.all = all;
}
public PageModel() {

}

}

最新文章

  1. 每天一个设计模式-2 外观模式(Facade)
  2. Creating Custom Connector Sending Claims with SharePoint 2013
  3. (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3)设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) (4)设计一个测试类
  4. CommonsChunkPlugin的使用(关于angular2中的polyfills和vendor的疑问解决)
  5. jquery 父页面 子页面 同级页面 调用
  6. centos 如何用 rsyslog 搭建本地日志服务
  7. jquery 弹出层
  8. arcgis,mapinfo(mapxtreme),openlayers专业GIS系统开发
  9. urllib 源码小剖
  10. python内存回收的问题
  11. ASP.NET页面跳转的三大方法详解
  12. CSS radial-gradient() 函数实现渐变
  13. C# 实现 JAVA AES加密解密[原创]
  14. 074——VUE中vuex之模块化modules开发实例
  15. sqlserver 2008评估期已过
  16. DWZ(二):经常使用组件了解
  17. 分享一个SqliteHelper类
  18. Win10下Anaconda3安装CPU版本TensorFlow并使用Pycharm开发
  19. meclipse6.5破解
  20. Mac电脑下配置maven环境变量

热门文章

  1. php笔记一
  2. Java web中常见编码乱码问题(一)
  3. 向EXECL文件中导入数据的同时插入图片
  4. sleep()
  5. mysql revise
  6. JS/jQ常用宽高及应用
  7. Java类的装载过程和静态代码块
  8. (cljs/run-at (-&gt;JSVM :browser) &quot;语言基础&quot;)
  9. 使用ABP打造SAAS系统(1)——环境准备
  10. linux系统最常用命令(持续更新)