网站建设资讯

NEWS

网站建设资讯

java分页查询代码 JAVA分页查询

求java分页代码,急用!

package common.util;

在红旗等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站设计、外贸营销网站建设 网站设计制作定制网站开发,公司网站建设,企业网站建设,高端网站设计,全网整合营销推广,成都外贸网站建设公司,红旗网站建设费用合理。

import java.util.*;

public class PageController implements IPageModel {

private Collection model;

//数据总行数

private int totalRowCount = 0; //

//总页数

private int pageCount = 0;

//每页应显示的行数

private int maxPageRowCount = 0;

//当前页行数

private int currPageRowCount = 0;

//当前页号

private int currPageNum;

//默认构造

public PageController() {

super();

}

//传入模型

public PageController(Collection model) {

setPageController(model);

}

//设一个分页模型

public void setPageController(Collection model) {

this.model = model;

this.totalRowCount = model.size();

}

/**

* 总页数

* @return int

*/

public int getPageCount() {

return this.pageCount;

}

/**

* getPageContents

*

* @param intPageNum int

* @return Object

*/

public Object getPageContents(int intPageNum) {

//非法数据

if(intPageNum1){

intPageNum=1;

}

if(intPageNumpageCount){

intPageNum=pageCount;

}

//指定当前页

this.currPageNum=intPageNum;

int i = 0;

ArrayList arr = new ArrayList();

//如果是合法的范围

if (intPageNum 0 intPageNum = pageCount) {

//计算该页的开始号和结束号

int lfromrow = (intPageNum - 1) * maxPageRowCount;

arr = (ArrayList) getElementsAt(model, lfromrow, lfromrow + maxPageRowCount-1);

}

currPageNum=intPageNum;

return arr;

}

public Object getLastPage() {

return this.getPageContents(pageCount);

}

public Object getFirstPage() {

return this.getPageContents(0);

}

/**

* getCurrentPageRowsCount

*

* @return int

*/

public int getCurrentPageRowsCount() {

if(currPageNumpageCount){

return maxPageRowCount;

}

else{//最后一页

return totalRowCount-(pageCount-1)*maxPageRowCount;

}

}

public int getCurrentPageNum(){

return currPageNum;

}

/**

* setMaxPageRows

*

* @return int

*/

public void setMaxPageRows(int rowCount) {

maxPageRowCount = rowCount;

//计算总页数

if (totalRowCount % maxPageRowCount 0) { //有余数

pageCount = totalRowCount / maxPageRowCount + 1;

}

else {

pageCount = totalRowCount / maxPageRowCount;

}

}

/**

* getMaxPageRows

*/

public int getMaxPageRows() {

return maxPageRowCount;

}

//私有方法,返回集合中指定范围的数据

private Object getElementsAt(Collection model, int fromIndex, int toIndex) {

Iterator iter = model.iterator();

ArrayList arr = new ArrayList();

if (iter != null) {

int i = 0;

while (iter.hasNext()) {

Object obj=iter.next();

if (i = fromIndex i = toIndex) {

arr.add(obj);

}

if (i toIndex) {

break;

}

i = i + 1;

}

}

return arr;

}

}

java的jsp如何分页显示查询结果?

分页显示一般有两种实现方式:业务层分页、数据库层分页(以下会用到两个参数,提前说明下 page:请求第几页,size:每页显示多少条)

业务层分页:从数据库取出所有数据,然后通过传过来的page和size对所有数据截取,比如一共查了100条数据,保存在list里面,要求查询第2页,每页显示10条,则可以通过list属性,取100条数据 中的第11条到第20条,可通过遍历实现。

数据库层分页:数据库都会有分页函数(mysql 是limit函数,sqlServer是row_number()函数,可自行百度下)该方法是通过传过来的page和size在查询数据库时就开始分页,以mysql为例,查询第2页,每页显示10条,则sql语句是 ”select * from XX limit 10,10“(第一个10表示从下标为10开始查,第二个10是共读取10条)

性能肯定是第二种分页方式好,只要搞懂分页原理,想实现分页其实很简单,只要搞清楚分页是将多条数据中的某几条挑出来

Java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

java分页查询

intPageCount = (intRowCount+intPageSize-1) / intPageSize;等价于

intPageCount=(intRowCount-1/intPageSiez)+1;

如果introwCount(总记录)=8,intPageSize(每页记录)=8则共为1页,如果rowCount=14,inPageSize=8则为2页,就是说总页数至少是要比8的倍数多1才会多翻一页.你想想如果一页显示八个记录,而总数刚好最后页有8个记录,你会翻页吗,不会的吧!!就这个道理

其实可以用为intPageCount=intRowCount%intPageSize==0?(intRowCount)/intPageSize:(intRowCount/intPageSize+1);

假设rowCount(总记录数)=8 intPageSize(每页记录数)=8,那么总页数就是因为8%8==0则8/8=1

就是一页

假设rowCount=14 intPageSize=8则总页数就是因为14%8!=0则14/8+1=2

就是两页这样分析楼主不知道能否明白

java 怎么分页?

通过rs.next()进行分页,首先用rs.absolute(0)定位到某条记录。然后循环取数例如:1-10 可以for(int i=0;i10;i++){rs.next()}

如何用java实现分页效果(eclipse工具)

package dl.wsxx.base;

public class Pager {

private int totalRows; // 总行数

private int pageSize; // 每页显示的行数

private int currentPage; // 当前页号

private int totalPages; // 总页数

private int startRow; // 当前页在数据库中的起始行

private int pageStartRow; // 当前页开始行

private int pageEndRow; // 当前页结束行

private int hasNextPage; // 下一页存在标识[0:不存在,1:存在]

private int hasPreviousPage; // 前一页存在标识[0:不存在,1:存在]

public Pager() {

}

public Pager(int _totalRows,int _pageSize) {

pageSize = _pageSize;

totalRows = _totalRows;

totalPages = totalRows / pageSize;

int mod = totalRows % pageSize;

if (mod 0) {

totalPages++;

}

currentPage = 1;

startRow = 0;

}

public int getStartRow() {

return startRow;

}

public int getpageStartRow() {

return pageStartRow;

}

public int getpageEndRow() {

return pageEndRow;

}

public int getTotalPages() {

return totalPages;

}

public int getCurrentPage() {

return currentPage;

}

public int getPageSize() {

return pageSize;

}

public int getHasNextPage() {

return hasNextPage;

}

public int getHasPreviousPage() {

return hasPreviousPage;

}

public void setTotalRows(int totalRows) {

this.totalRows = totalRows;

}

public void setStartRow(int startRow) {

this.startRow = startRow;

}

public void setPageStartRow(int pageStartRow) {

this.pageStartRow = pageStartRow;

}

public void setPageEndRow(int pageEndRow) {

this.pageEndRow = pageEndRow;

}

public void setTotalPages(int totalPages) {

this.totalPages = totalPages;

}

public void setCurrentPage(int currentPage) {

this.currentPage = currentPage;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public void setHasNextPage(int hasNextPage) {

this.hasNextPage = hasNextPage;

}

public void setHasPreviousPage(int hasPreviousPage) {

this.hasPreviousPage = hasPreviousPage;

}

public int getTotalRows() {

return totalRows;

}

public void first() {

currentPage = 1;

startRow = 0;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void previous() {

if (currentPage == 1) {

return;

}

currentPage--;

startRow = (currentPage - 1) * pageSize;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void next() {

if (currentPage totalPages) {

currentPage++;

}

startRow = (currentPage - 1) * pageSize;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void last() {

currentPage = totalPages;

startRow = (currentPage - 1) * pageSize;

pageStartRow = startRow + 1;

this.hasFlagSet(currentPage, totalPages);

if (this.hasNextPage == 0) {

pageEndRow = totalRows;

} else {

pageEndRow = startRow + pageSize;

}

}

public void refresh(int _currentPage) {

currentPage = _currentPage;

if (currentPage totalPages) {

last();

}

this.hasFlagSet(currentPage, totalPages);

}

private void hasFlagSet(int currentPage, int totalPages) {

if (currentPage == totalPages) {

if (currentPage == 1) {

this.hasPreviousPage = 0;

this.hasNextPage = 0;

} else {

this.hasPreviousPage = 1;

this.hasNextPage = 0;

}

} else {

if (currentPage == 1) {

this.hasPreviousPage = 0;

this.hasNextPage = 1;

} else {

this.hasPreviousPage = 1;

this.hasNextPage = 1;

}

}

}

}

这是我的工程里的分页核心代码,希望对你有用,还有ssh分页文档,可以参照研究一下。


当前题目:java分页查询代码 JAVA分页查询
本文来源:http://njwzjz.com/article/hpjiii.html