MySQLのデータのクエリ結果は、ページング効果を実装します

タブページクラスのレコード情報

1  パブリック クラス DBPage <T> {
 2      // ページの合計数
3。     プライベート INT totalPageCount = 1 ;
 4      // ページのサイズ、すなわち、ページあたりのレコード数
5。     プライベート INTのpageSize = 3 ;
 6      // レコードの合計数
。7      プライベート INT totalCountプロパティ= 0 ;
 8      // 現在のページ
9。     プライベート INT currPageNo = 1。;
 10      // ページセット
11。      一覧<T> = USERSLIST 新しい新規のArrayList <> ();
 12は、     公衆 INT getTotalPageCount(){
 13          リターンtotalPageCount。
14      }
 15      公共 ボイド setTotalPageCount(INT totalPageCount){
 16          この .totalPageCount = totalPageCount。
17      }
 18      公衆 INT はgetpagesize(){
 19          リターンのpageSize。
20      }
 21      公共 ボイド setPageSize(INT のpageSize){
 22          この .pageSize = のpageSize。
23      }
 24      公衆 int型所与otalカウント(){
 25          リターン合計数を、
26      }
 27      公共 ボイド見otalカウント(INT 総数){
 28          この .totalCount = 総数。
29      }
 30      公衆 INT getCurrPageNo(){
 31          リターンcurrPageNo。
32      }
 33      公共 ボイド setCurrPageNo(INT currPageNo){
 34          この .currPageNo = currPageNo。
35      }
 36      パブリックリスト<T>getUsersList(){
 37          リターンUSERSLIST。
38      }
 39      公共 ボイド setUsersList(リスト<T> USERSLIST){
 40          この .usersList = USERSLIST。
41      }
 42 }

クラスのユーザ操作情報取得方法をページング

1  公共 DBPage <ユーザー> queryByPage(DBPage <ユーザー> dbPage){
 2つ          のCachedRowSet totalCrs = この .execQuery( "SELECT COUNT(1)t_userから" )。
3          試行{
 4              ながら(totalCrs.next()){
 5                  int型のカウント= totalCrs.getInt(1 )。
6                  dbPage.setTotalCount(カウント)。
7              }
 8          } キャッチ(のSQLException E){
 9              e.printStackTrace();
10          } 最後に{
 11              のtry {
 12                 totalCrs.close();
13              } キャッチ(のSQLException E){
 14                  e.printStackTrace();
15              }
 16          }
 17  
18          であれば(dbPage.getTotalCount()> 0 ){
 19              // 计算总页数
20              INT totalCountプロパティ= dbPage.getTotalCount()。
21              INTのpageSize = dbPage.getPageSize()。
22              dbPage.setTotalPageCount(totalCountプロパティ%のpageSize == 0(totalCountプロパティ/ pageSizeを):totalCountプロパティ/のpageSize + 1 )。
23          }
 24  
25         CachedRowSetのpageCrs = この .execQueryは( "?t_user制限SELECT * FROM" 26                  (dbPage.getCurrPageNo() - 1)* dbPage.getPageSize()、dbPage.getPageSize())。
27          試み{
 28              ながら(pageCrs.next()){
 29                  列のuname = pageCrs.getString( "のuname" )。
30                  列upwd = pageCrs.getString( "upwd" )。
31                  INT isAdmin = pageCrs.getInt( "isAdmin" )。
32                  。dbPage.getUsersList()を追加し(新しいユーザー(0 、のuname、upwd、isAdmin))。
33             }
 34          } キャッチ(のSQLException E){
 35              e.printStackTrace();
36          } 最後に{
 37              のtry {
 38                  pageCrs.close()。
39              } キャッチ(のSQLException E){
 40                  e.printStackTrace();
41              }
 42          }
 43          リターンdbPage。
44      }

JSPページ表示ページネーション情報

1 <%
 2          DBPage <ユーザー> dbPage = 新しい DBPage <> ();
3          int型PAGENO。
4          列dbPageNo =(文字列)request.getParameter( "PAGENO" )。
5          もし(dbPageNo == NULL ){
 6              PAGENO = 1 7          } {
 8              PAGENO = Integer.valueOf(dbPageNo)。
9              dbPage.setCurrPageNo(PAGENO)。
10          }
 11          UserDaoImpl userDaoImpl = 新しいUserDaoImpl()。
12         userDaoImpl.queryByPage(dbPage)。
13      %>
 14      <テーブル境界= "1" ALIGN = "センター">
 15          <TR>
 16              <TD>用户名</ TD>
 17              <TD>密码</ TD>
 18              <TD>管理员</ TD>
 19          </ TR>
 20          <%
 21              (ユーザU:dbPage.getUsersList()){
 22          %>
 23          <TR>
 24              <TD> <%= u.getUname()%> </ TD>
 25              <TD> <%= u.getPwd()%> </ TD>
28          <%
 29              }
 30          %>
 31      </テーブル>
 32      当前<%= PAGENO%> 33      <br />
 34      <%
 35  
36      %>
 37      <a href="?pageNo=<%=1%>」 >首页</a>の
 38      <a href="?pageNo=<%=pageNo-1<1?pageNo:pageNo-1%> ">上一页</a>の
 39      <のhref ="?PAGENO = < %=(PAGENO + 1)> dbPage.getTotalPageCount()PAGENO:PAGENO + 1%> ">下一页</a>の
 40      <a href="?pageNo=<%=dbPage.getTotalPageCount()%>" >尾页する</a>

 

おすすめ

転載: www.cnblogs.com/lingdu9527/p/11020001.html