How to paginate in java
The implementation principle is very simple, that is, create a Page class, which contains the currently visited page number (this is the data transmitted from the customer browser to the backend, so your paging needs to use it to locate the recorded entries) and the number of record rows displayed on each page.
Then the following data can be obtained through paging calculation. (Assume that your page number starts from 1)
1. Total number of pages = total number of records/size of each page. If 0! = total number of records% size of each page, then the total number of pages will be 1
2. Current page number (obtained from parameters passed by the browser)
3. Starting position of table record = (current page number - 1) * size of each page
4. Total number of records (select count(*) from [table name] [where [condition]], obtained from the database)
5. The size of each page can be fixed or passed from the page After you have these parameters, you can use SQL statements to find the corresponding records.
Mysql database uses the limit table record's starting position, and the page size statement is added to the end of your query statement. The sqlserver database uses the top statement and not in to do it.
Oracle database uses rownum to do it. The specific code for
is as follows:
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; } }
The front end uses jsp, and the data calculated through html can be displayed in pages.
php Chinese website, a large number of free Java introductory tutorials, welcome to learn online!
The above is the detailed content of How to paginate in java. For more information, please follow other related articles on the PHP Chinese website!