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 ...
随机推荐
- Fastboot模式和Recovery模式
http://blog.csdn.net/luoshengyang/article/details/29688041 在回答第一个问题之前,我们先来看看Android设备从硬件到系统的结构,如图1所示 ...
- ionic 启用sass
转入ionic项目目录,命令行下执行:ionic setup sass 提示编译器未装: You have specified Ionic CI to set up sass.However, you ...
- FLASH结构
mergedir/code.tmp.bin 压缩未加密文件的FLASH文件 mergedir/sfs/nvm.bin shareData数据文件,未加密.未压缩 数据克隆:DATA/ALL APP ...
- Windows Driver Frameworks
MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff557565(v=vs.85).aspx
- IIS 平台NET无后缀名伪静态实现办法
使用URLRewrite重写链接地址时,当无后缀时,总是找不到文件,不能使用.例如:http://shop.iccoo.cn/7648/ 无后缀形式(当然这个是可以的啦,只是看下链接形式) 当有后缀时 ...
- mvc ajax csrf
http://www.cnblogs.com/zhyp/p/5556980.html http://www.asp.net/web-api/overview/security/preventing-c ...
- mac-文本编辑器
windows时代最喜欢的文本编辑器一直是ultraedit,但到了mac下,破解的ultraedit退出时会异常,于是琢磨着换编辑器,最终选择了sublime text2,百度下载,不注册也可以用. ...
- openscales实现漂亮的冒泡效果
使用的时候openscales 默认的冒泡效果确实有点简陋,想实现那种看着比较舒服的效果,只能自己定义了.参考现有的openscales实现的方式,它是通过控件的状态实现的,每个状态中使用Path绘制 ...
- bzoj1051 [HAOI2006]受欢迎的牛
1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4773 Solved: 2541[Submit][Sta ...
- DOM杂记
INPUT 监听输入框值的变化:"input"