達成するために、ページングや他の機能を構築するためのプロジェクト

  • https://start.spring.io/  鍵生成springbootプロジェクト、および自動的に統合され、構成thymeleaf、AOP、dectools。非常に便利。
  • https://mvnrepository.com/  Mavenの倉庫はMyBatisの、および他の成分を導入しました。
  • mabatis基本的なCRUDによって完成データベースの設計、。

  ..........

 

 

 @Mapper自動的に注入されていません。自己不信と再輸入依存度の非常に長い期間の後、アイデアは、偽陽性であることが判明しました。-_- ||使用には影響しません。OCDは推奨プラス@Repositoryされます。

 

 

  •  開発ツール]タブ。

ページ上のプロジェクトは非常に悪い行うので、警告とこの時間は、第1のページングモジュールが行います。次のようにページングのアイデアは、次のとおりです。

  1. フロントデスクは、inquiryデータ要求を送信する場合は、現在のページを持参し、これら2つのパラメータは、データ量あたります。(デフォルト値は両方とも1であり、10)。
  2. 包装プロパティとメソッドは、Pageクラスを使用していました。あなたは、行番号及び終了ライン番号を開始クエリとして、データ・コントローラを通過する必要があり、ページ単位で、現在のページの近傍の現在のページ番号が表示される場合。フロントにも近く、前、次、ジャンプページとページのパスを、このような総ページ数などのパラメータを渡す必要があります。
  3. 受信した情報データとページ・プレゼンテーションパッケージのモデルページオブジェクトのフロントページ。

次のようにフロントメインのコードは次のようになります。

 

完全にバックグラウンドを通過したページ番号ボタンのリンクは、あなたがコードの再利用を実現することができます。

 

 次のように背景コード

 

 

 ページオブジェクトが来ることにより、行番号情報のページを取得し、これらのデータ、お問い合わせは、モデルオブジェクトマップとパス受信としてパッケージに基づきます。前のメソッド呼び出しでは、自動的にSPRINGMVCは、我々はモデルとページオブジェクトをインスタンス化し、ページモデルに注入し、そのため直接ページオブジェクトに値Thymeleafを取ることができます。

次のようにページ・クラスは、次のとおり処理で設定される制限値のニーズの決意

 1 /**
 2  * 封装分页相关的信息.
 3  */
 4 public class Page {
 5 
 6     // 当前页码
 7     private int current = 1;
 8     // 显示上限
 9     private int limit = 10;
10     // 数据总数(用于计算总页数)
11     private int rows;
12     // 查询路径(用于复用分页链接)
13     private String path;
14 
15     public int getCurrent() {
16         return current;
17     }
18 
19     public void setCurrent(int current) {
20         if (current >= 1) {
21             this.current = current;
22         }
23     }
24 
25     public int getLimit() {
26         return limit;
27     }
28 
29     public void setLimit(int limit) {
30         if (limit >= 1 && limit <= 100) {
31             this.limit = limit;
32         }
33     }
34 
35     public int getRows() {
36         return rows;
37     }
38 
39     public void setRows(int rows) {
40         if (rows >= 0) {
41             this.rows = rows;
42         }
43     }
44 
45     public String getPath() {
46         return path;
47     }
48 
49     public void setPath(String path) {
50         this.path = path;
51     }
52 
53     /**
54      * 获取当前页的起始行
55      *
56      * @return
57      */
58     public int getOffset() {
59         // current * limit - limit
60         return (current - 1) * limit;
61     }
62 
63     /**
64      * 获取总页数
65      *
66      * @return
67      */
68     public int getTotal() {
69         // rows / limit [+1]
70         if (rows % limit == 0) {
71             return rows / limit;
72         } else {
73             return rows / limit + 1;
74         }
75     }
76 
77     /**
78      * 获取起始页码
79      *
80      * @return
81      */
82     public int getFrom() {
83         int from = current - 2;
84         return from < 1 ? 1 : from;
85     }
86 
87     /**
88      * 获取结束页码
89      *
90      * @return
91      */
92     public int getTo() {
93         int to = current + 2;
94         int total = getTotal();
95         return to > total ? total : to;
96     }
97 
98 }

 

おすすめ

転載: www.cnblogs.com/zhangbochao/p/12405334.html