📄 pagedaoimpl.java
字号:
package com.chinahr.dao.impl;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.chinahr.util.PageResult;
public class PageDaoImpl extends HibernateDaoSupport{
Session session;
public void Listbypage(String hql,PageResult pager){
session=this.getHibernateTemplate().getSessionFactory().openSession();
try{
Query query=session.createQuery(hql);
int firstIndex=(pager.getPageSize())*(pager.getPageNo()-1);//确定从第几行开始
query.setFirstResult(firstIndex);
query.setMaxResults(pager.getPageSize());
pager.setList(query.list());//把结果集保存在PagerResult中
String hql2="";//定义查询总行数的hql变量
if (hql.startsWith("from")){
hql2="select count(*) "+hql;
}else{
String ret=hql.substring(0,hql.indexOf("from"));
hql2=hql.replace(ret, "select count(*) ");
}
Integer total=(Integer)session.createQuery(hql2).uniqueResult();//返回总的记录数
pager.setRecTotal(total.intValue());//保存总的记录数
}catch (Exception ex){
ex.printStackTrace();
}finally{
session.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -