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