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() {
}
}
java 分页模型的模板的更多相关文章
- Java 分页通用
1.定义分页模型:PageModel package com.common.page; import java.util.List; /** * 封装分页信息 * @author Administra ...
- 深入理解Java虚拟机(第三版)-13.Java内存模型与线程
13.Java内存模型与线程 1.Java内存模型 Java 内存模型的主要目的是定义程序中各种变量的访问规则,即关注在虚拟机中把变量值存储到主内存和从内存中取出变量值的底层细节 该变量指的是 实例字 ...
- JVM学习(3)——总结Java内存模型
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: 为什么学习Java的内存模式 缓存一致性问题 什么是内存模型 JMM(Java Memory Model)简 ...
- 浅析java内存模型--JMM(Java Memory Model)
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的. 线程之间通过共享程序公共的状态,通 ...
- JMM(java内存模型)
What is a memory model, anyway? In multiprocessorsystems, processors generally have one or more laye ...
- 《深入理解Java内存模型》读书总结
概要 文章是<深入理解Java内容模型>读书笔记,该书总共包括了3部分的知识. 第1部分,基本概念 包括"并发.同步.主内存.本地内存.重排序.内存屏障.happens befo ...
- Java内存模型深度解析:final--转
原文地址:http://www.codeceo.com/article/java-memory-6.html 与前面介绍的锁和Volatile相比较,对final域的读和写更像是普通的变量访问.对于f ...
- Java内存模型深度解析:volatile--转
原文地址:http://www.codeceo.com/article/java-memory-4.html Volatile的特性 当我们声明共享变量为volatile后,对这个变量的读/写将会很特 ...
- Java内存模型深度解析:顺序一致性--转
原文地址:http://www.codeceo.com/article/java-memory-3.html 数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据 ...
随机推荐
- Lesser known dplyr tricks
In this blog post I share some lesser-known (at least I believe they are) tricks that use mainly fun ...
- reshape: from long to wide format(转)
This is to continue on the topic of using the melt/cast functions in reshape to convert between long ...
- Ajax请求汇总(一)
刚开始结束Ajax请求的时候,那真的是迷迷糊糊,昏天暗地,通过学习的深入和翻阅各种资料.求助度娘,总结一下Ajax请求,与大家分享一下,希望能给学习Ajax的同学一些帮助,废话不多手,直接开始~~~ ...
- Coursera 机器学习笔记(八)
主要为第十周内容:大规模机器学习.案例.总结 (一)随机梯度下降法 如果有一个大规模的训练集,普通的批量梯度下降法需要计算整个训练集的误差的平方和,如果学习方法需要迭代20次,这已经是非常大的计算代价 ...
- java之真假分页
真分页(要的是什么范围的记录在数据库查的时候就只查这几条记录):select s.* from (select *,row_number() over(order by SLoginId) as ro ...
- centos文件权限详解
假设回显信息为 ①-②rws③r-x④r-x ⑤1 ⑥root ⑦root ⑧430540 ⑨Dec 20 18:27 ⑩/usr/sbin/passwd ,现在逐一分析其内容. ①. 首字符-,表 ...
- spring4 之 helloworld
1.从官网下载相关JAR包 spring-framework-4.2.1.RELEASE-dist(下载地址:http://maven.springframework.org/release/org/ ...
- 如何提取Redis中的大KEY
工作中,经常有些Redis实例使用不恰当,或者对业务预估不准确,或者key没有及时进行处理等等原因,导致某些KEY相当大. 那么大Key会带来哪些问题呢? 如果是集群模式下,无法做到负载均衡,导致请求 ...
- css3自适应圆
.class{ width:auto; height:auto; border-radius:11px; min-width:14px; padding:0 4px; font-size:12px; ...
- Redis客户端管理工具的安装及使用
1.下载及安装 请到官网下载:www.treesoft.cn,要最新的版本treeNMS, window系统下载直接解压,就可以用了,免安装,免布署. 2.登录及连接参数配置 登录后,要配置连接参数信 ...