Java Web 开发中怎么进行分页

如题所述

实现原理很简单,就是建立一个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;
}

}
温馨提示:内容为网友见解,仅供参考
无其他回答

Java项目开发中实现分页的三种方式一篇包会
第一种方式:SpringDataJPA分页 1. 引入依赖:确保项目依赖中包含SpringDataJPA。2. Service中编写分页服务:定义Pageable对象处理分页参数,使用PageRequest创建Page对象包装查询结果。3. Repository中处理分页:继承JpaRepository,传入pageable参数,返回Page包装的结果。第二种方式:MyBatis分页 1. 引入PageHelpe...

想用JAVA WEB 实现分页技术。请问应该怎么做
实现原理很简单,就是建立一个Page类,里面放当前访问的页数(这个是从客户浏览器传到后台的数据,所以你的分页需要用它来定位记录的条目)和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。(假定你的页数从1开始)1、总页数 = 总记录数\/每页大小,如果0!=总记录数%每页大小,那么总页数再...

java分页实现原理(java分页如何实现)
java中如何实现百度中的分页1、实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。总页数=总记录数\/每页大小,如果0!=总记录数%每页大小,那么总页数再+1。当前页数。2、java分页显示数据有swing桌面应用与web应用两种,其中以web...

java中如何实现分页功能?
项目采用三层架构,需要导入tomcat、JRE和mysql的依赖库文件,使用Eclipse进行开发。在tomcat安装文件夹的lib子文件夹中放置jstl-1.2.jar与standard.jar文件,用于JSP标签的运行。设计的jsp页面包括index.jsp和play.jsp。index.jsp为首页,play.jsp用于展示分页效果。创建分页文件Pagination和StuService类是实现...

java中如何实现分页显示
java分页显示数据有swing桌面应用与web应用两种,其中以web应用居多,而分布又有两种方法,一是在本地分布,二是在数据库分布。区别: 本地:将需要显示的数据全部取到,再用JS进行控制一部分一部分的显示,不适合于大量数据; 数据库:利用sql语句,分页取得数据,再在界面显示。(推荐); 别外,网上也有很多相关人士做的分页...

高分:JAVA分页代码怎么写呢?
提供一个JSP版的分页代码,希望能帮助到你。在分页显示中,首先获取显示页数,将其赋值给showPage,然后设置游标位置为(当前页-1)*页面大小+1,接着利用rs.absolute(posion)设置游标。显示内容如下:商品号 商品名称 [下一页]共页 第页 『首页』『尾页』转到 ...

java分页类实现
这个很简单啊,如果总记录数除以每页的记录数正好除尽的话,那么最大页数就是总记录数除以每页的记录数,否则就是总记录数除以每页的记录数+1咯,例如总记录数为100条,每页是20条,那么分为5页(100\/20),如果总记录数为101条,那么应该分为(101\/20+1)也就是6页,有问题吗 ...

JAVA中一个字段内容太多,在页面显示不下,怎么样分页?
您好 楼主: 您可以对你的这段文字进行截取 例如:有String content = 5000字 你想每页显示1000 那么可以在首页截取文字content.substring(currentPage*1000,1000) 在点击下一页的时候要把当前页(currentPage)传到后台 例如首页就是第一页 那么在后台根据第一页传来的1带入方法取得...

java面试的时候问到如何实现分页?
分页的实现可分为两大类相信你也懂得这个,一、数据在Java代码中进行分页,然后取得当前页数据;二、在数据库中直接取得当前页数据。通常面试官都希望听到后者,因为那才是高效的方法。你如果想让面试官觉得你的能力高的话你就先否定他的问题,你可以回答说:“Java中根本不需要做分页的实现代码只管拿...

JAVA项目中的真分页与假分页的代码怎么写~
都是最新的。假分页:一次从数据库里得到很多页的数据,然后缓存起来。比如每页20条,一次取了100条,缓存起来。第一页依然是1-20 ,第二页就是21-40。到第6页的时候,再从数据库里取101-200条,在缓存起来。只不过,取数据的时候不是从数据库里取了,而是在缓存里取。但是这个数据有可能不是...

相似回答