📄 basedao.java
字号:
package com.org.hibernate.dao;
import java.util.Collection;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.org.exception.DaoException;
public class BaseDao extends HibernateDaoSupport{
private Logger log = Logger.getLogger(this.getClass());
/**
*/
public Session openSession() {
return SessionFactoryUtils.getSession(getSessionFactory(), false);
}
/**
*/
public Query getQuery(String sql) throws Exception{
Session session = this.openSession();
Query query = session.createQuery(sql);
return query;
}
/**
*
*/
public Object loadByKey(Class clazz, String keyName, Object keyValue)
{
List result = getHibernateTemplate().find(
"from " + clazz.getName() + " where " + keyName + " = ?",
keyValue);
if (result != null && result.size() > 0) {
return result.get(0);
} else {
return null;
}
}
/**
*
*/
public int getTotalCount(String hql) throws Exception
{
Integer amount = new Integer(0);
int sql_from = hql.indexOf(" from");
int sql_orderby=hql.indexOf("order by");
String countStr="";
if(sql_orderby>0)
{
countStr="select count(*) "+hql.substring(sql_from,sql_orderby);
}
else
countStr = "select count(*) "+hql.substring(sql_from);
Session session=this.openSession();
Query query = session.createQuery(countStr);
if(!query.list().isEmpty()){
amount = (Integer) query.list().get(0);
}
else
return 0;
return amount.intValue();
}
/**
*
*/
public int getTotalPage(int totalCount,int pageSize){
return (totalCount+pageSize-1)/pageSize;
}
/**
*
*/
public void insert(Object entity) {
try {
getHibernateTemplate().save(entity);
} catch (Exception e) {
log.error("插入 " + entity.getClass().getName() + "实例到数据库失败", e);
}
}
/**
*/
public void update(Object entity) {
try {
getHibernateTemplate().update(entity);
} catch (Exception e) {
log.error("更新 " + entity.getClass().getName() + " 实例到数据库失败", e);
}
}
/**
*
*/
public void delete(Object entity) throws DaoException {
try {
getHibernateTemplate().delete(entity);
} catch (Exception e) {
log.error("从数据库删除" + entity.getClass().getName() + " 实例失败", e);
}
}
/**
*/
public void deleteAll(Class clazz) throws DaoException {
try {
List result = getHibernateTemplate().loadAll(clazz);
getHibernateTemplate().deleteAll(result);
} catch (Exception e) {
log.error("从数据库删除" + clazz.getName() + "的所有记录失败", e);
}
}
public void deleteAll(Collection entities) throws DaoException {
try {
getHibernateTemplate().deleteAll(entities);
} catch(Exception e) {
}
}
/**
*/
public List find(String queryString, Object param) throws DaoException {
List list= null;
try {
list = getHibernateTemplate().find(queryString, param);
} catch (Exception e) {
log.error("执行参数为" + param + "的查询" + queryString + "失败", e);
}
return list;
}
/**
*
*/
public Object getByPk(Class clazz,Integer id){
Object obj = (Object)getHibernateTemplate().get(clazz,id);
return obj;
}
public Object getByPk(Class clazz,Long id){
Object obj = (Object)getHibernateTemplate().get(clazz,id);
return obj;
}
public Object getByPk(Class clazz,String id){
Object obj = (Object)getHibernateTemplate().get(clazz,id);
return obj;
}
/**
*/
public List LoadAll(Class clazz){
List list=null;
try{
list=getHibernateTemplate().loadAll(clazz);
}catch(Exception e){
log.error("从数据库查询"+clazz.getName()+"失败");
}
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -