public class PageCut {
private int sump;//总页数
private int curp;//当前页数
private int pagesize;//页面容量
private Collection result;
public PageCut() {
super();
}
public int getCurp() {
return curp;
}
public void setCurp(int curp) {
this.curp = curp;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
//*****************************
//name参数为类名
public Collection getResult(String name) {
Session session=HbnUtil.getSession();
Transaction tran=session.beginTransaction();
tran.begin();
String hql="from "+name;
List list=null;
try {
list=session.createQuery(hql).
setFirstResult((curp-1)*pagesize).setMaxResults(pagesize).list();
} catch (Exception e) {
e.printStackTrace();
throw new DaoException("dao error in FindPage"+name);
}
System.out.println(list);
return list;
}
//*****************************
public void setResult(Collection result) {
this.result = result;
}
public int getSump() {
return sump;
}
public int initSump(String name){
Session session =HbnUtil.getSession();
Transaction tran=session.beginTransaction();
int sum=0;
String hql="select count(a) from "+name+" a";
sum=Integer.parseInt(session.createQuery(hql).uniqueResult().toString());
if(sum%pagesize==0){
sump=sum/pagesize;
}else{
sump=sum/pagesize+1;
}
tran.commit();
session.close();
return sum;
}
}