> Java > Java베이스 > 본문

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

angryTom
풀어 주다: 2019-11-14 14:29:35
원래의
4882명이 탐색했습니다.

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

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿