`

Java分页实现

阅读更多
Java代码 复制代码
  1. public interface Paginable {   
  2.   
  3.     public int getTotalCount();   
  4.   
  5.     public int getPageCount();   
  6.   
  7.     public int getPageSize();   
  8.   
  9.     public int getCurrentPage();   
  10.        
  11.     public int getStartIndex();   
  12.   
  13.     public boolean isFirstPage();   
  14.   
  15.     public boolean isLastPage();   
  16.   
  17.     public int getNextPage();   
  18.   
  19.     public int getPrePage();   
  20. }  
public interface Paginable {

	public int getTotalCount();

	public int getPageCount();

	public int getPageSize();

	public int getCurrentPage();
	
	public int getStartIndex();

	public boolean isFirstPage();

	public boolean isLastPage();

	public int getNextPage();

	public int getPrePage();
}



Java代码 复制代码
  1. public class SimplePage implements Paginable {   
  2.   
  3.     public final static int PAGESIZE = 4;   
  4.   
  5.     // Total count of records   
  6.     protected int totalCount;   
  7.        
  8.     // The size of records per page   
  9.     protected int pageSize = PAGESIZE;   
  10.        
  11.     // Current page   
  12.     protected int currentPage;   
  13.        
  14.     // The count of pages   
  15.     private int pageCount;   
  16.   
  17.     public SimplePage() {   
  18.     }   
  19.        
  20.     public SimplePage(int totalCount) {   
  21.         setPageSize(PAGESIZE);   
  22.         setTotalCount(totalCount);   
  23.         setCurrentPage(1);   
  24.     }   
  25.   
  26.     public SimplePage(int currentPage, int totalCount) {   
  27.         setPageSize(PAGESIZE);   
  28.         setTotalCount(totalCount);   
  29.         setCurrentPage(currentPage);   
  30.     }   
  31.   
  32.     public SimplePage(int currentPage, int pageSize, int totalCount) {   
  33.         setPageSize(pageSize);   
  34.         setTotalCount(totalCount);   
  35.         setCurrentPage(currentPage);   
  36.     }   
  37.   
  38.     public boolean isFirstPage() {   
  39.         return currentPage <= 1;   
  40.     }   
  41.   
  42.     public boolean isLastPage() {   
  43.         return currentPage >= pageCount;   
  44.     }   
  45.   
  46.     public int getNextPage() {   
  47.         if (isLastPage()) {   
  48.             return currentPage;   
  49.         } else {   
  50.             return currentPage + 1;   
  51.         }   
  52.     }   
  53.   
  54.     public int getPrePage() {   
  55.         if (isFirstPage()) {   
  56.             return currentPage;   
  57.         } else {   
  58.             return currentPage - 1;   
  59.         }   
  60.     }   
  61.   
  62.     public int getCurrentPage() {   
  63.         return currentPage;   
  64.     }   
  65.        
  66.     public int getStartIndex() {   
  67.         return (currentPage - 1) * pageSize;   
  68.     }   
  69.   
  70.     public void setCurrentPage(int currentPage) {   
  71.         if (totalCount <= 0)   
  72.             this.currentPage = 0;   
  73.         else if (currentPage >= pageCount)   
  74.             this.currentPage = pageCount;   
  75.         else if (currentPage <= 1)   
  76.             this.currentPage = 1;   
  77.         else {   
  78.             this.currentPage = currentPage;   
  79.         }   
  80.     }   
  81.   
  82.     public int getPageSize() {   
  83.         return pageSize;   
  84.     }   
  85.   
  86.     public void setPageSize(int pageSize) {   
  87.         this.pageSize = pageSize;   
  88.     }   
  89.   
  90.     public int getTotalCount() {   
  91.         return totalCount;   
  92.     }   
  93.   
  94.     public void setTotalCount(int totalCount) {   
  95.         if (totalCount > 0) {   
  96.             this.totalCount = totalCount;   
  97.             pageCount = totalCount / pageSize;   
  98.             if (totalCount % pageSize > 0)   
  99.                 pageCount++;   
  100.         } else {   
  101.             this.totalCount = 0;   
  102.         }   
  103.     }   
  104.   
  105.     public int getPageCount() {   
  106.         return pageCount;   
  107.     }   
  108.   
  109.     public void setPageCount(int pageCount) {   
  110.         this.pageCount = pageCount;   
  111.     }   
  112. }  
public class SimplePage implements Paginable {

	public final static int PAGESIZE = 4;

	// Total count of records
	protected int totalCount;
	
	// The size of records per page
	protected int pageSize = PAGESIZE;
	
	// Current page
	protected int currentPage;
	
	// The count of pages
	private int pageCount;

	public SimplePage() {
	}
	
	public SimplePage(int totalCount) {
		setPageSize(PAGESIZE);
		setTotalCount(totalCount);
		setCurrentPage(1);
	}

	public SimplePage(int currentPage, int totalCount) {
		setPageSize(PAGESIZE);
		setTotalCount(totalCount);
		setCurrentPage(currentPage);
	}

	public SimplePage(int currentPage, int pageSize, int totalCount) {
		setPageSize(pageSize);
		setTotalCount(totalCount);
		setCurrentPage(currentPage);
	}

	public boolean isFirstPage() {
		return currentPage <= 1;
	}

	public boolean isLastPage() {
		return currentPage >= pageCount;
	}

	public int getNextPage() {
		if (isLastPage()) {
			return currentPage;
		} else {
			return currentPage + 1;
		}
	}

	public int getPrePage() {
		if (isFirstPage()) {
			return currentPage;
		} else {
			return currentPage - 1;
		}
	}

	public int getCurrentPage() {
		return currentPage;
	}
	
	public int getStartIndex() {
		return (currentPage - 1) * pageSize;
	}

	public void setCurrentPage(int currentPage) {
		if (totalCount <= 0)
			this.currentPage = 0;
		else if (currentPage >= pageCount)
			this.currentPage = pageCount;
		else if (currentPage <= 1)
			this.currentPage = 1;
		else {
			this.currentPage = currentPage;
		}
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getTotalCount() {
		return totalCount;
	}

	public void setTotalCount(int totalCount) {
		if (totalCount > 0) {
			this.totalCount = totalCount;
			pageCount = totalCount / pageSize;
			if (totalCount % pageSize > 0)
				pageCount++;
		} else {
			this.totalCount = 0;
		}
	}

	public int getPageCount() {
		return pageCount;
	}

	public void setPageCount(int pageCount) {
		this.pageCount = pageCount;
	}
}



Java代码 复制代码
  1. import java.util.List;   
  2.   
  3. @SuppressWarnings("serial")   
  4. public class Pagination extends SimplePage implements java.io.Serializable,   
  5.         Paginable {   
  6.   
  7.     public Pagination() {   
  8.     }   
  9.   
  10.     @SuppressWarnings("unchecked")   
  11.     public Pagination(int totalCount, List list) {   
  12.         super(totalCount);   
  13.         this.list = list;   
  14.     }   
  15.   
  16.     @SuppressWarnings("unchecked")   
  17.     public Pagination(int currentPage, int totalCount, List list) {   
  18.         super(currentPage, totalCount);   
  19.         this.list = list;   
  20.     }   
  21.   
  22.     @SuppressWarnings("unchecked")   
  23.     public Pagination(int currentPage, int pageSize, int totalCount, List list) {   
  24.         super(currentPage, pageSize, totalCount);   
  25.         this.list = list;   
  26.     }   
  27.   
  28.     public Pagination(int currentPage, int pageSize, int totalCount) {   
  29.         super(currentPage, pageSize, totalCount);   
  30.     }   
  31.   
  32.     public int getFirstResult() {   
  33.         return (currentPage - 1) * pageSize;   
  34.     }   
  35.   
  36.     @SuppressWarnings("unchecked")   
  37.     private List list;   
  38.   
  39.     @SuppressWarnings("unchecked")   
  40.     public List getList() {   
  41.         return list;   
  42.     }   
  43.   
  44.     @SuppressWarnings("unchecked")   
  45.     public void setList(List list) {   
  46.         this.list = list;   
  47.     }   
  48. }  
import java.util.List;

@SuppressWarnings("serial")
public class Pagination extends SimplePage implements java.io.Serializable,
		Paginable {

	public Pagination() {
	}

	@SuppressWarnings("unchecked")
	public Pagination(int totalCount, List list) {
		super(totalCount);
		this.list = list;
	}

	@SuppressWarnings("unchecked")
	public Pagination(int currentPage, int totalCount, List list) {
		super(currentPage, totalCount);
		this.list = list;
	}

	@SuppressWarnings("unchecked")
	public Pagination(int currentPage, int pageSize, int totalCount, List list) {
		super(currentPage, pageSize, totalCount);
		this.list = list;
	}

	public Pagination(int currentPage, int pageSize, int totalCount) {
		super(currentPage, pageSize, totalCount);
	}

	public int getFirstResult() {
		return (currentPage - 1) * pageSize;
	}

	@SuppressWarnings("unchecked")
	private List list;

	@SuppressWarnings("unchecked")
	public List getList() {
		return list;
	}

	@SuppressWarnings("unchecked")
	public void setList(List list) {
		this.list = list;
	}
}



Java代码 复制代码
  1. public class PageUtil {   
  2.   
  3.     public static String getPageBar1(Paginable page, String url) {   
  4.         String temp = "";   
  5.         if (url.indexOf("?") == -1) {   
  6.             temp = "?";   
  7.         } else {   
  8.             temp = "&";   
  9.         }   
  10.         StringBuffer pageBar = new StringBuffer();   
  11.         if (page.isFirstPage())   
  12.             pageBar.append("First Previous&nbsp;");   
  13.         else {   
  14.             pageBar.append("<a href='").append(url).append(temp).append(   
  15.                     "currentPage=1'>First</a>&nbsp;");   
  16.             pageBar.append("<a href='").append(url).append(temp).append(   
  17.                     "currentPage=").append(page.getPrePage()).append(   
  18.                     "'>Previous</a>&nbsp;");   
  19.         }   
  20.         if (page.isLastPage())   
  21.             pageBar.append("Next Last&nbsp;");   
  22.         else {   
  23.             pageBar.append("<a href='").append(url).append(temp).append(   
  24.                     "currentPage=").append(page.getNextPage()).append(   
  25.                     "'>Next</a>&nbsp;");   
  26.             pageBar.append("<a href='").append(url).append(temp).append(   
  27.                     "currentPage=").append(page.getPageCount()).append(   
  28.                     "'>Last</a>&nbsp;");   
  29.         }   
  30.         pageBar.append("&nbsp;Total Page:").append(page.getPageCount()).append(   
  31.                 "&nbsp;");   
  32.         pageBar.append("&nbsp;Go<select name='page' onChange=\"location='");   
  33.         pageBar.append(url).append(temp).append(   
  34.                 "currentPage='+this.options[this.selectedIndex].value\">");   
  35.         int begin = (page.getCurrentPage() > 10) ? page.getCurrentPage() - 10  
  36.                 : 1;   
  37.         int end = (page.getPageCount() - page.getCurrentPage() > 10) ? page   
  38.                 .getCurrentPage() + 10 : page.getPageCount();   
  39.         for (int i = begin; i <= end; i++) {   
  40.             if (i == page.getCurrentPage())   
  41.                 pageBar.append("<option value='").append(i).append(   
  42.                         "' selected>-").append(i).append("-</option>");   
  43.             else  
  44.                 pageBar.append("<option value='").append(i).append("'>-")   
  45.                         .append(i).append("-</option>");   
  46.         }   
  47.         pageBar.append("</select>");   
  48.         return pageBar.toString();   
  49.     }   
  50.        
  51.     //Implement other page bar you wanted   
  52.     public static String getPageBar2(Paginable page, String url){   
  53.         return "";   
  54.     }   
  55. }  
public class PageUtil {

	public static String getPageBar1(Paginable page, String url) {
		String temp = "";
		if (url.indexOf("?") == -1) {
			temp = "?";
		} else {
			temp = "&";
		}
		StringBuffer pageBar = new StringBuffer();
		if (page.isFirstPage())
			pageBar.append("First Previous&nbsp;");
		else {
			pageBar.append("<a href='").append(url).append(temp).append(
					"currentPage=1'>First</a>&nbsp;");
			pageBar.append("<a href='").append(url).append(temp).append(
					"currentPage=").append(page.getPrePage()).append(
					"'>Previous</a>&nbsp;");
		}
		if (page.isLastPage())
			pageBar.append("Next Last&nbsp;");
		else {
			pageBar.append("<a href='").append(url).append(temp).append(
					"currentPage=").append(page.getNextPage()).append(
					"'>Next</a>&nbsp;");
			pageBar.append("<a href='").append(url).append(temp).append(
					"currentPage=").append(page.getPageCount()).append(
					"'>Last</a>&nbsp;");
		}
		pageBar.append("&nbsp;Total Page:").append(page.getPageCount()).append(
				"&nbsp;");
		pageBar.append("&nbsp;Go<select name='page' onChange=\"location='");
		pageBar.append(url).append(temp).append(
				"currentPage='+this.options[this.selectedIndex].value\">");
		int begin = (page.getCurrentPage() > 10) ? page.getCurrentPage() - 10
				: 1;
		int end = (page.getPageCount() - page.getCurrentPage() > 10) ? page
				.getCurrentPage() + 10 : page.getPageCount();
		for (int i = begin; i <= end; i++) {
			if (i == page.getCurrentPage())
				pageBar.append("<option value='").append(i).append(
						"' selected>-").append(i).append("-</option>");
			else
				pageBar.append("<option value='").append(i).append("'>-")
						.append(i).append("-</option>");
		}
		pageBar.append("</select>");
		return pageBar.toString();
	}
	
	//Implement other page bar you wanted
	public static String getPageBar2(Paginable page, String url){
		return "";
	}
}




Java代码 复制代码
  1. import java.io.Serializable;   
  2. import java.util.List;   
  3. import org.hibernate.Criteria;   
  4. import org.hibernate.HibernateException;   
  5. import org.hibernate.Session;   
  6. import org.hibernate.criterion.DetachedCriteria;   
  7. import org.hibernate.criterion.Projections;   
  8. import org.springframework.orm.hibernate3.HibernateCallback;   
  9. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
  10. import page.Pagination;   
  11.   
  12. public abstract class AbstractDaoManager extends HibernateDaoSupport {   
  13.   
  14.     private boolean cacheQueries = false;   
  15.   
  16.     private String queryCacheRegion;   
  17.   
  18.     public void setCacheQueries(boolean cacheQueries) {   
  19.         this.cacheQueries = cacheQueries;   
  20.     }   
  21.   
  22.     public void setQueryCacheRegion(String queryCacheRegion) {   
  23.         this.queryCacheRegion = queryCacheRegion;   
  24.     }   
  25.   
  26.     public void save(final Object entity) {   
  27.         getHibernateTemplate().save(entity);   
  28.     }   
  29.   
  30.     public void persist(final Object entity) {   
  31.         getHibernateTemplate().save(entity);   
  32.     }   
  33.   
  34.     public void update(final Object entity) {   
  35.         getHibernateTemplate().update(entity);   
  36.     }   
  37.   
  38.     public void delete(final Object entity) {   
  39.         getHibernateTemplate().delete(entity);   
  40.     }   
  41.   
  42.     public Object load(final Class entity, final Serializable id) {   
  43.         return getHibernateTemplate().load(entity, id);   
  44.     }   
  45.   
  46.     public Object get(final Class entity, final Serializable id) {   
  47.         return getHibernateTemplate().get(entity, id);   
  48.     }   
  49.   
  50.     public List findAll(final Class entity) {   
  51.         return getHibernateTemplate().find("from " + entity.getName());   
  52.     }   
  53.   
  54.     public List findByNamedQuery(final String namedQuery) {   
  55.         return getHibernateTemplate().findByNamedQuery(namedQuery);   
  56.     }   
  57.   
  58.     public List findByNamedQuery(final String query, final Object parameter) {   
  59.         return getHibernateTemplate().findByNamedQuery(query, parameter);   
  60.     }   
  61.   
  62.     public List findByNamedQuery(final String query, final Object[] parameters) {   
  63.         return getHibernateTemplate().findByNamedQuery(query, parameters);   
  64.     }   
  65.   
  66.     public List find(final String query) {   
  67. 分享到:
    评论

相关推荐

    java分页实现大全

    Java 分页实现是Java开发中常见的一种技术,用于在大量数据中进行高效的查询和展示,以提高用户体验并减轻服务器负载。在处理大数据集时,分页尤为重要,因为它允许用户逐步加载和浏览信息,而不是一次性加载所有...

    JAVA分页实现JAVA+JS+HTML

    在实际项目中,分页实现可能更为复杂,例如需要考虑性能优化,比如预加载相邻页数据,或者使用懒加载来减少初始加载时间。同时,现代前端框架如React、Vue或Angular提供了更高级的分页组件和状态管理工具,简化了...

    java分页实现(有详细注释)

    原来也经常会用到别人写的java分页工具,一直觉得总是有些欠缺,自己也喜欢玩,就自己重新写了个java的分页实现,一来可以更加深入了解分页技术,提高自己的编码和设计能力,二来自己写的东西,原理和实现都熟悉,将来复用时...

    java分页实现(面向对象)

    总的来说,Java中的分页实现主要涉及以下几个步骤: 1. 设计一个`Page`类来封装分页信息。 2. 编写服务类,如`PageService`,提供分页查询方法,包含SQL的构造、执行以及结果转换。 3. 针对不同的数据库操作工具...

    java分页代码完整版

    本资源中的"fenye"可能包含的是一个完整的Java分页实现项目,包括了上述各种方式的代码示例,通过学习和运行这些代码,你可以深入理解Java分页的原理和实现方法,并能将其应用于实际项目中。请下载并仔细研究,祝你...

    java分页大全 包括最强大的java分页类

    本资源包"java分页大全"提供了多种Java分页实现,旨在帮助开发者更高效地进行数据查询和展示。 首先,我们来探讨一下Java分页的基本原理。分页通常涉及两个关键部分:一是计算当前页的数据范围,二是根据这个范围从...

    java实现分页 jsp分页 分页

    java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页java实现分页 jsp分页 分页

    最简单的java分页,代码最少,最易懂

    本教程将详细介绍一个简单、代码量少且易于理解的Java分页实现方法。 首先,我们要理解分页的基本概念。分页通常涉及到两个关键参数:当前页数(Page Number)和每页大小(Page Size)。通过这两个参数,我们可以...

    java 分页思想

    本资料包提供了一个详细的Java分页实现文档,包括代码示例、数据库设计以及相关图解,帮助开发者深入理解并实践Java分页。 1. **分页原理** 分页的基本思想是将大量数据分为多个部分,每次只加载一部分(一页)...

    mysql数据库实现分页

    以下是对分页实现的详细说明: 一、基础概念 分页是将数据库查询结果分割成多个页面,每次请求只返回一部分数据,而不是一次性返回所有数据。这在Web应用中尤其常见,如搜索引擎、电商网站等,用户通常会通过点击...

    java简单分页.txt

    本文将详细介绍一种简单的Java分页实现方法,该方法不仅易于理解且广泛应用于基于JDBC(Java Database Connectivity)和Hibernate等技术栈的项目中。 #### 二、分页原理与实现 ##### 2.1 分页基本概念 分页是指将...

    java分页int pageSize:每页显示多少条记录

    主要内容包括四个关键变量的定义及其作用、分页算法的计算逻辑、SQL查询语句的编写方法,以及一个简单的Java分页实现示例。 ### 四个关键变量 在进行分页时,我们需要定义以下四个变量: 1. **`int pageSize`**:...

    java实现的一个分页程序

    1. **JDBC分页**:Java中的分页通常通过Java Database Connectivity (JDBC) API来实现。使用PreparedStatement和Statement对象,我们可以在SQL查询中添加LIMIT和OFFSET子句来限制返回的数据行数,从而实现分页。 2....

    java分页 个人整理

    二、Java分页实现方式 1. SQL语句实现:通过在SQL中添加LIMIT和OFFSET关键字(MySQL)或ROWNUM(Oracle)来限制返回的数据行数,实现分页。但这种方式效率较低,不适用于大数据量的场景。 2. 数据库连接池支持:如...

    JAVA分页JAVA分页.doc

    以上就是一个基本的Java分页实现过程,需要注意的是,实际应用中可能需要考虑更多细节,如错误处理、性能优化、用户体验等。此外,随着技术的发展,现在有很多成熟的分页库,如MyBatis的PageHelper、Spring Data JPA...

    java 分页源代码

    2. Java分页实现方式: - 自定义分页:开发者可以根据需求自行编写分页逻辑,包括计算页码、查询指定范围的数据等。这通常涉及到SQL的LIMIT或OFFSET子句,用于限制返回的数据量。 - 使用JDBC API:通过设置...

    自制java分页标签

    2. Java分页实现: 在Java中,可以使用各种框架如Spring MVC、Struts等来实现分页。一般会涉及以下几个步骤: - 数据库查询:通过SQL的LIMIT或OFFSET关键字,根据当前页和每页大小获取所需数据。 - 页面参数传递...

    JAVA分页代码宝典

    综上所述,【JAVA分页代码宝典】提供了全面的Java分页实现方法,涵盖了从基本的分页逻辑到高级特性的应用,对于理解和实现Java分页具有很高的参考价值。开发者可以根据自身需求,结合这些代码和思路,打造出高效、...

    Ajax实现Java分页

    在Java分页中,Ajax通过向后台发送请求获取新的分页数据,并在前端更新显示。 分页的基本流程通常包括以下步骤: 1. **前端页面设计**:创建一个包含分页导航的HTML页面,如页码链接或下拉框。页面应该有适当的...

    JAVA分页大全.pdf

    标题“JAVA分页大全.pdf”表明文档涉及的是Java编程语言...文档的内容虽然不完整,但提供的代码片段足以反映出Java分页实现的基本思想和常用方法。这对于理解Java分页机制,以及在实际项目中实现分页功能都是有帮助的。

Global site tag (gtag.js) - Google Analytics