?? pagetool.java
package com.tool.pagetool;
import java.util.List;
import java.sql.SQLException;
public class PageTool {
private PageDAO DAO;
private int rowNum;
public PageTool(){};
public PageTool(PageDAO DAO){
this.DAO = DAO;
// try {
// this.rowNum = DAO.selectCount();
// } catch (SQLException ex) {
// ex.printStackTrace();
// }
}
//普通的分頁
public Page createPage(int currentPage, int size) throws SQLException {
Page page = new Page();
page.setCurrentPage(currentPage);
page.setSize(size);
page.setBegin(this.getPageBegin(currentPage, size));
page.setEnd(this.getPageEnd(currentPage, size));
try {
page.setPage(DAO.selectForPage(page));
page.setRowNum(DAO.selectCount());
page.setPageCount(this.getPageCount(page.getRowNum(), size));
page.setNextPage(page.getPageCount() <= currentPage ?
page.getPageCount() : currentPage + 1);
page.setPreviertPage(currentPage <= 1 ? 1 : currentPage - 1);
} catch (SQLException e) {
e.printStackTrace();
throw e;
} finally {
DAO.rollback();
}
return page;
}
//支持動態查詢的分頁
//queryStr 為sql查詢語句的where部分
public Page createPage(int currentPage, int size,String queryStr) throws SQLException {
Page page = new Page();
page.setCurrentPage(currentPage);
page.setSize(size);
page.setQueryStr(queryStr);
page.setBegin(this.getPageBegin(currentPage, size));
page.setEnd(this.getPageEnd(currentPage, size));
try {
page.setPage(DAO.selectForPage(page));
page.setRowNum(DAO.selectCount(page));
page.setPageCount(this.getPageCount(page.getRowNum(), size));
page.setNextPage(page.getPageCount() <= currentPage ?
page.getPageCount() : currentPage + 1);
page.setPreviertPage(currentPage <= 1 ? 1 : currentPage - 1);
} catch (SQLException e) {
e.printStackTrace();
throw e;
} finally {
DAO.rollback();
}
return page;
}
public int getPageEnd(int currentPage,int size){
int pageEnd = currentPage*size;
return pageEnd;
}
private int getPageBegin(int currentPage,int size){
int pageBegin = 1;
if(currentPage>0)
pageBegin=(currentPage-1)*size;
return pageBegin;
}
private int getPageCount(int rowNum,int size){
int pageCount = 0;
if(rowNum%size==0) pageCount = rowNum/size;
else pageCount = rowNum/size+1;
return pageCount;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -