📄 basehibernatedao.java
字号:
package com.chinahr.util;
import java.util.List;
import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* 数据库操作基类-增加分页功能
* @author arren
*
*/
public class BaseHibernateDao extends HibernateDaoSupport {
public void listbypage(String hql,PageResult pager){
if (null==hql){
return;
}
Session session = this.getSession();//获得 Session 对象
Transaction tx=null;
try{
tx=session.beginTransaction();//开启一个事务
Query query=session.createQuery(hql);
query.setFirstResult(pager.getFirstRec());
query.setMaxResults(pager.getPageSize());
List list=query.list();
//this.initialize(hql, list);//实例化关联对象
pager.setList(list);
String hqlString="";
if (hql.toUpperCase().startsWith("FROM")){
hqlString="select count(*) "+hql;
}else{
int i=hql.toUpperCase().indexOf("FROM");
hqlString="select count(*) "+hql.substring(i, hql.length());
}
//去掉 order by 部分
int j=hqlString.toUpperCase().lastIndexOf("ORDER");
if (j!=-1){
hqlString=hqlString.substring(0, j);
}
Object total=this.getSession()
.createQuery(hqlString).uniqueResult();
pager.setRecTotal(((Integer)total).intValue());
tx.commit();//提交事务
}catch (Exception ex){
tx.rollback();//回滚事务
ex.printStackTrace();
}finally{
}
}
//实例化关联对象
//删除方法
public void del(Class cls,java.io.Serializable id){
this.getHibernateTemplate().delete(this.getHibernateTemplate().get(cls, id));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -