Public class pagecut {
Private int sump; // the total number of pages.
Private int CURP; // current page number
Private int pagesize; // page size
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;
}
//*****************************
// The name parameter is the class 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 + "";
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;
}
}