java怎么分页_java怎么分页

1c9cee09937cfac8d42c752a6db228ed.png

java怎么分页

实现原理很简单,就是建立一个Page类,里面放当前访问的页数(这个是从客户浏览器传到后台的数据,所以你的分页需要用它来定位记录的条目)和每一页显示的记录行数。

然后通过分页计算就可以得出下列数据。(假定你的页数从1开始)

1、总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1

2、当前页数(从浏览器传递的参数中获得)

3、表记录的起始位置=(当前页数-1)*每页大小

4、总记录数(select count(*) from [表名] [where [条件]],从数据库中查询得到)

5、每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了。

mysql数据库用limit 表记录的起始位置,每页大小 语句添加到你的查询语句最后面sqlserver数据库用top语句和not in 来做

oracle数据库用rownum来做

具体代码如下:public class Page {

private long totalCount = 0;// 总记录数

private int pageNumber = 1;// 当前页号,默认显示第一页

private int pageSize = 20; // 每页大小,默认每页20条

private int totalPage = 0;// 总页数,默认为0

private int startRow = 0;// 起始记录行号,默认为从表头开始

/**

* 分页计算方法,由setTotalCount调用

*/

public void pagination() {

// 计算总页数

if (this.totalCount % pageSize == 0)

this.totalPage = new Long(this.totalCount / pageSize).intValue();

else

this.totalPage = new Long(this.totalCount / pageSize).intValue() + 1;

// 排除错误页号

if (this.pageNumber < 1)

this.pageNumber = 1;

if (this.pageNumber > this.totalPage)

this.pageNumber = this.totalPage;

// 计算起始行号

this.startRow = (this.pageNumber - 1) * this.pageSize;

}

public long getTotalCount() {

return totalCount;

}

public void setTotalCount(long totalCount) {

this.totalCount = totalCount;

this.pagination();

}

public int getPageNumber() {

return pageNumber;

}

public void setPageNumber(int pageNumber) {

this.pageNumber = pageNumber;

}

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public int getTotalPage() {

return totalPage;

}

public void setTotalPage(int totalPage) {

this.totalPage = totalPage;

}

public int getStartRow() {

return startRow;

}

public void setStartRow(int startRow) {

this.startRow = startRow;

}

}

前端采用jsp,通过html和计算得出的数据进行分页展示即可。

php中文网,大量的免费Java入门教程,欢迎在线学习!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值