Javaでページネーションする方法

angryTom
リリース: 2019-11-14 14:29:35
オリジナル
4875 人が閲覧しました

Javaでページネーションする方法

java でページネーションする方法

実装原理は非常に簡単です。つまり、Page クラスを作成します。これには、現在訪問しているページ番号 (これは顧客のブラウザからバックエンドに送信されるデータであるため、ページングでは記録されたエントリを見つけるためにそれを使用する必要があります) と各ページに表示されるレコード行の数が含まれます。

すると、ページング計算により以下のデータが得られます。 (ページ番号が 1 から始まると仮定します)

1. ページの合計数 = レコードの合計数 / 各ページのサイズ。0! = レコードの合計数% 各ページのサイズの場合、合計ページ数は 1

2. 現在のページ番号 (ブラウザによって渡されたパラメータから取得)

3. テーブル レコードの開始位置 = (現在のページ番号 - 1) * サイズ各ページ

4. 総レコード数 (データベースから取得した [テーブル名] [where [条件]] から count(*) を選択)

##5. 各ページのサイズ固定することも、ページから渡すこともできます。これらのパラメータを取得したら、SQL ステートメントを使用して対応するレコードを検索できます。

Mysql データベースは、制限テーブル レコードの開始位置を使用し、ページ サイズ ステートメントはクエリ ステートメントの最後に追加されます。sqlserver データベースは、それを実行するのではなく、top ステートメントを使用します。

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 中国語 Web サイト、無料の

Java 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。

以上がJavaでページネーションする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート