簡單分頁技術

~~~~~~~~~~~~~~~~~~代碼如下~~~~~~~~~~~~~~~~~~~~~~~~~~

 

package com.tool;

import java.sql.ResultSet;
import java.util.ArrayList;

import com.db.DBConnection;

public class PaginationBean {
 private int pageSize=5;//每頁顯示的記錄條數
 private int pageNum=0;//總頁數
 private int pageId=1;//當前頁碼
 private int uid=0;//用戶id
 private int size=0;//總記錄條數
 public ArrayList pagination(int pageId,int uid){
  this.pageId=pageId;
  this.uid=uid;
  ResultSet rs=null;
  DBConnection dbcn=new DBConnection();
  dbcn.connect();
  rs=dbcn.select("select * from address where uid="+uid);
  try {
   rs.last();//將記錄移到最後一行
   size=rs.getRow();//取得行號,其實就是總記錄數
   if(size%pageSize==0){
    this.pageNum=size/pageSize;
   }else{
    this.pageNum=size/pageSize+1;
   }
   rs.beforeFirst(); //返回第一條記錄之前的位置
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }
  for(int i=0;i<(pageId-1)*pageSize;i++){//此循環的功能用於將記錄定位在第pageId頁之前的那條記錄
   try {
    rs.next();
   } catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
   }
  }
  ArrayList allData=new ArrayList();
  try {
   for(int j=0;j<pageSize;j++){//此循環用於取得當前頁的數據
    ArrayList al=new ArrayList();
    if(!rs.next()){
     break;
    }
    al.add(rs.getString(1));
    al.add(rs.getString(3));
    al.add(rs.getString(4));
    al.add(rs.getString(5));
    al.add(rs.getString(6));
    al.add(rs.getString(7));
    allData.add(al);
    
   }
   dbcn.connectionClose();
   return allData;
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
   return null;
  }
  
 }
 public int getPageNum(){
  return this.pageNum;
 }
 public int getSize(){
  return this.size;
 }
}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章