>Java >Java베이스 >자바에서 페이지 매김하는 방법

자바에서 페이지 매김하는 방법

angryTom
angryTom원래의
2019-11-14 14:29:354941검색

자바에서 페이지 매김하는 방법

Java에서 페이지 매김 방법

구현 원리는 매우 간단합니다. 즉, 현재 방문한 페이지 수를 포함하는 Page 클래스를 생성하는 것입니다(이것은 고객 브라우저에서 배경이므로 페이징에서는 레코드 항목을 찾습니다) 및 각 페이지에 표시되는 레코드 행 수를 사용해야 합니다.

그러면 페이징 계산을 통해 다음과 같은 데이터를 얻을 수 있습니다. (페이지 번호는 1부터 시작한다고 가정)

1. 총 페이지 수 = 총 레코드 수/각 페이지 크기 0! = 각 페이지의 총 레코드 수% 크기이면 총 페이지 수 + 1

2. 현재 페이지 수(브라우저에서 전달한 매개변수에서 가져옴)

3. 테이블 레코드의 시작 위치 = (현재 페이지 수 - 1) * 각 페이지의 크기

4. count(*) from [테이블 이름] [where [조건]], 데이터베이스에서 가져옴)

5. 각 페이지의 크기는 고정되거나 페이지에서 전달될 수 있습니다. 해당 기록입니다.

MySQL 데이터베이스는 시작 위치를 기록하기 위해 제한 테이블을 사용하고, SQLServer 데이터베이스는 이를 수행하기 위해 최상위 문을 사용하지만

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 입문 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 자바에서 페이지 매김하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.