~~~~~~~~~~~~~~~~~~代碼如下~~~~~~~~~~~~~~~~~~~~~~~~~~
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;
}
}