以前都是copy别人的,但是这次处理marc数据和用topdb,就自己写了。
package com.topengine.util; import java.util.ArrayList; import java.util.List; import com.topengine.DataBaseDAO.InitDb; public class PageBean { private int totalSize ; private int pageSize=10; private int page; private int currentPage=1; private InitDb init ; public PageBean(String sql ,InitDb init){ this.init = init; this.totalSize = init.Search(sql); } public InitDb getInit(){ return init; } public int getTotalSize() { return totalSize; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPage() { page = totalSize/pageSize+1; return page; } /** * 列出所有的当前信息 * @return list * @author 李晗 */ public List<String> listSearchInfo(){ List<String> list = new ArrayList<String>(); if(totalSize<pageSize*currentPage){ for(int i=0;i<totalSize;i++){ list.add(init.getRecord(i)); } } else{ for(int i=0;i<pageSize;i++){ list.add(init.getRecord(i)); } } return list; } /** * 跳转到下一页 * @return list * @author 李晗 */ public List<String> next(){ currentPage = currentPage+1; init.GoTo(pageSize*(currentPage-1)); List<String> list = new ArrayList<String>(); if(totalSize<(pageSize*(currentPage))){ for(int i=0;i<totalSize-pageSize*(currentPage-1);i++){ list.add(init.getRecord(i)); } } else{ for(int i=0;i<pageSize;i++){ list.add(init.getRecord(i)); } } return list; } /** * 跳转到前一页 * @return list * @author 李晗 */ public List<String> prev(){ currentPage = currentPage-1; init.GoTo(pageSize*(currentPage-1)); List<String> list = new ArrayList<String>(); if(totalSize<(pageSize*(currentPage))){ for(int i=0;i<totalSize-pageSize*(currentPage);i++){ list.add(init.getRecord(i)); } } else{ for(int i=0;i<pageSize;i++){ list.add(init.getRecord(i)); } } return list; } /** * 跳转到最后一页 * @return list * @author 李晗 */ public List<String> end(){ currentPage = getPage(); init.GoTo(pageSize*(currentPage-1)); List<String> list = new ArrayList<String>(); if(totalSize<(pageSize*(currentPage))){ for(int i=0;i<totalSize-pageSize*(currentPage-1);i++){ list.add(init.getRecord(i)); } } else{ for(int i=0;i<pageSize;i++){ list.add(init.getRecord(i)); } } return list; } /** * 跳转到第一页 * @return list * @author 李晗 */ public List<String> first(){ currentPage = 1; init.GoTo(0); List<String> list = new ArrayList<String>(); if(totalSize<(pageSize*(currentPage))){ for(int i=0;i<totalSize-pageSize*(currentPage-1);i++){ list.add(init.getRecord(i)); } } else{ for(int i=0;i<pageSize;i++){ list.add(init.getRecord(i)); } } return list; } /** * 跳转到第N页 * @return list * @author 李晗 */ public List<String> gotoPage(int desPage){ currentPage = desPage; init.GoTo(pageSize*(desPage-1)); List<String> list = new ArrayList<String>(); if(totalSize<(pageSize*(currentPage))){ for(int i=0;i<totalSize-pageSize*(currentPage-1);i++){ list.add(init.getRecord(i)); } } else{ for(int i=0;i<pageSize;i++){ list.add(init.getRecord(i)); } } return list; } public int getCurrentPage(){ return currentPage; } }