jsp hibernate的分页代码第1/3页
jsp hibernate的分页代码第1/3页
发布时间:2016-12-29 来源:查字典编辑
摘要:可见使用Hibernate,在进行查询分页的操作上,是具有非常大的灵活性,Hibernate会首先尝试用特定数据库的分页sql,如果没用,再...

可见使用Hibernate,在进行查询分页的操作上,是具有非常大的灵活性,Hibernate会首先尝试用特定数据库的分页sql,如果没用,再尝试Scrollable,如果不行,最后采用rset.next()移动的办法。

(一)pager类

* @(#)Pager.java 2005-5-3

*

* Copyright (c) 2005, Jeffrey Hsu

*/

package com.jeffrey.messagelove;

/**

* Pager holds the page info.

*/

public class Pager {

private int totalRows = 0; // 记录总数

private int totalPages = 0; // 总页数

private int pageSize = 10; // 每页显示数据条数,默认为10条记录

private int currentPage = 1; // 当前页数

private boolean hasPrevious = false; // 是否有上一页

private boolean hasNext = false; // 是否有下一页

public Pager() {

}

/**

* Initialize Pager

* @param totalRows total record rows

* @param pageSize total record is hold by every page

*/

public void init(int totalRows, int pageSize) {

this.totalRows = totalRows;

this.pageSize = pageSize;

totalPages = ((totalRows + pageSize) - 1) / pageSize;

refresh(); // 刷新当前页面信息

}

/**

* @return Returns the currentPage.

*/

public int getCurrentPage() {

return currentPage;

}

/**

* @param currentPage current page

*/

public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

refresh();

}

/**

* @return Returns the pageSize.

*/

public int getPageSize() {

return pageSize;

}

/**

* @param pageSize The pageSize to set.

*/

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

refresh();

}

/**

* @return Returns the totalPages.

*/

public int getTotalPages() {

return totalPages;

}

/**

* @param totalPages The totalPages to set.

*/

public void setTotalPages(int totalPages) {

this.totalPages = totalPages;

refresh();

}

/**

* @return Returns the totalRows.

*/

public int getTotalRows() {

return totalRows;

}

/**

* @param totalRows The totalRows to set.

*/

public void setTotalRows(int totalRows) {

this.totalRows = totalRows;

refresh();

}

// 跳到第一页

public void first() {

currentPage = 1;

this.setHasPrevious(false);

refresh();

}

// 取得上一页(重新设定当前页面即可)

public void previous() {

currentPage--;

refresh();

}

// 取得下一页

public void next() {

System.out.println("next: totalPages: " + totalPages +

" currentPage : " + currentPage);

if (currentPage < totalPages) {

currentPage++;

}

refresh();

}

// 跳到最后一页

public void last() {

currentPage = totalPages;

this.setHasNext(false);

refresh();

}

public boolean isHasNext() {

return hasNext;

}

/**

* @param hasNext The hasNext to set.

*/

public void setHasNext(boolean hasNext) {

this.hasNext = hasNext;

}

public boolean isHasPrevious() {

return hasPrevious;

}

/**

* @param hasPrevious The hasPrevious to set.

*/

public void setHasPrevious(boolean hasPrevious) {

this.hasPrevious = hasPrevious;

}

当前1/3页123下一页阅读全文

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新JSP教程学习
热门JSP教程学习
编程开发子分类