Java 分页通用
1、定义分页模型:PageModel
- package com.common.page;
- import java.util.List;
- /**
- * 封装分页信息
- * @author Administrator
- *
- */
- public class PageModel<E> {
- //结果集
- private List<E> list;
- //查询记录数
- private int totalRecords;
- //每页多少条数据
- private int pageSize;
- //第几页
- private int pageNo;
- /**
- * 总页数
- * @return
- */
- public int getTotalPages() {
- return (totalRecords + pageSize - 1) / pageSize;
- }
- /**
- * 取得首页
- * @return
- */
- public int getTopPageNo() {
- return 1;
- }
- /**
- * 上一页
- * @return
- */
- public int getPreviousPageNo() {
- if (pageNo <= 1) {
- return 1;
- }
- return pageNo - 1;
- }
- /**
- * 下一页
- * @return
- */
- public int getNextPageNo() {
- if (pageNo >= getBottomPageNo()) {
- return getBottomPageNo();
- }
- return pageNo + 1;
- }
- /**
- * 取得尾页
- * @return
- */
- public int getBottomPageNo() {
- return getTotalPages();
- }
- public List<E> getList() {
- return list;
- }
- public void setList(List<E> list) {
- this.list = list;
- }
- public int getTotalRecords() {
- return totalRecords;
- }
- public void setTotalRecords(int totalRecords) {
- this.totalRecords = totalRecords;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getPageNo() {
- return pageNo;
- }
- public void setPageNo(int pageNo) {
- this.pageNo = pageNo;
- }
- }
2、分页测试:在MySQL中建立admin表,里面有字段id、name、password
3、简历Admin的实体bean类:
- package com.common.page;
- public class Admin {
- private int id;
- private String name;
- private String password;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
4、测试调用:
- package com.common.page;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.List;
- import com.common.db.DbUtil;
- public class Client {
- public static PageModel findAdmins(int pageNo,int pageSize){
- Connection conn=DbUtil.getConnection();
- String sql="select * from admin limit ?,?";
- PageModel pageModel=null;
- PreparedStatement pstm=null;
- ResultSet rs=null;
- Admin admin=null;
- List<Admin> list=new ArrayList<Admin>();
- try {
- pstm=conn.prepareStatement(sql);
- pstm.setInt(1, (pageNo-1)*pageSize);
- pstm.setInt(2, pageNo*pageSize);
- rs=pstm.executeQuery();;
- while(rs.next()){
- admin=new Admin();
- admin.setId(rs.getInt("a_id"));
- admin.setName(rs.getString("a_name"));
- admin.setPassword(rs.getString("a_pwd"));
- list.add(admin);
- }
- ResultSet rs2=pstm.executeQuery("select count(*) from admin");
- int total=0;
- if(rs2.next()){
- total=rs2.getInt(1);
- }
- pageModel=new PageModel();
- pageModel.setPageNo(pageNo);
- pageModel.setPageSize(pageSize);
- pageModel.setTotalRecords(total);
- pageModel.setList(list);
- } catch (SQLException e) {
- e.printStackTrace();
- }finally{
- DbUtil.close(conn);
- DbUtil.close(pstm);
- DbUtil.close(rs);
- }
- return pageModel;
- }
- public static void main(String[] args) {
- PageModel pageModel=Client.findAdmins(2,4);
- List<Admin> list=pageModel.getList();
- for(Admin a:list){
- System.out.print("ID:"+a.getId()+",用户名:"+a.getName()+",密码:"+a.getPassword());
- System.out.println();
- }
- System.out.print("当前页:"+pageModel.getPageNo()+" ");
- System.out.print("共"+pageModel.getTotalPages()+"页 ");
- System.out.print("首页:"+pageModel.getTopPageNo()+" ");
- System.out.print("上一页:"+pageModel.getPreviousPageNo()+" ");
- System.out.print("下一页:"+pageModel.getNextPageNo()+" ");
- System.out.print("尾页:"+pageModel.getBottomPageNo()+" ");
- System.out.print("共"+pageModel.getTotalRecords()+"条记录");
- System.out.println();
- }
- }
Java 分页通用的更多相关文章
- java分页通用篇
一.创建分页通用类 package com.dkyw.util; import java.util.List; public class Page<T> { private int tot ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
- java - 分页类
pager.java package com.jspnews.util; import java.io.Serializable; import java.util.List; /** * * < ...
- 数据你把它的金额-JAVA分页
数据量你造吗-JAVA分页 原创地址: http://www.cnblogs.com/Alandre/ (泥沙砖瓦浆木匠),须要转载的,保留下! Thanks 学习的心态第一,解行要对应. 事实 ...
- 浅谈Java分页技术
话不多言.我们要实现java分页技术,我们首先就需要定义四个变量,他们是: int pageSize;//每页显示多少条记录 int pageNow;//希望现实第几页 int pageCount; ...
- 一个方便的java分页算法
一个好用的java分页算法,代码如下,只需要分页参数继承Pageable类就可以很方便分页了 package cn.com.base.common.pagination; /** * 分页基类 * * ...
- [Java] 一种好的JAVA分页实现
喃都不说了,贴代码,意思都在代码里面了 Page.java //分页类.定义分页字段信息,供前台页面使用 package com.core.common; import java.util.List; ...
- Java中都通用文件下载(ContentType、文件头、response、out四步骤)
Java中都通用文件下载(ContentType.文件头.response.out四步骤) 新浪微博:IT国子监(记得关注噢) http://weibo.com/itguozijian 我们就直接 ...
- pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...
随机推荐
- tomcat与oracle关于8080端口的冲突
http://blog.csdn.net/baidu_24256693/article/details/44863935 由于电脑里同时安装了tomcat与oracle,所以8080的端口是冲突的. ...
- Android 卡片计数器
该文用英文写的,可以到我的英文博客中阅读.
- Volley网络框架的使用
Volley的特点: 使用网络通信更快.更简单 Get/Post网络请求网络图像的高效率异步请求 可以对网络请求的优先级进行排序处理 可以进行网络请求的缓存 可以取消多级别请求 可以和Activi ...
- 读写hdfs文件(工作笔记)
import java.io.IOException; import java.io.InputStream; import java.util.List; import java.util.Map; ...
- Android 通过广播获取网络状态
Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验. 本文仅提供WIFI 状态的检测作为参考,其他网络连接方式请 ...
- javascript属性标签
- RIO-SEIO水泵流量表
http://rio-seio.com/TW/products_pumps/Rio_plus.html 流量表:
- OpenLayers 3 中Layers的相关知识
昨天自己一遍又一遍的把API里Accessible map那个例子写下来,终于好像有熟悉一点点.找到一篇博文详细讲Layers的.整理一下贴出来(本来想在网上做笔记可以重新排版,比写在本子上要容易有结 ...
- JQuery 在循环中设置事件,最后一个覆盖了前面所有的设置
function setValidation() { for (i = 0; i < alValidations.length; i++) { //alValidations是一 ...
- 部署Service Manager 2012遇到的2个问题
上周装了个Service Manager 2012学习,以便完善System Center整个解决方案,在部署期间遇到2个问题,花了我不少时间解决.一.安装时提示“执行自定义操作时失败”每当到了安装的 ...