package com.common.base;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class BaseDaoImpl extends HibernateDaoSupport {
public Session openSession() {
return getHibernateTemplate().getSessionFactory().openSession();
}
public int getQueryUpdate(String hql) {
Session session = this.openSession();
int iCount = session.createQuery(hql).executeUpdate();
session.close();
return iCount;
}
public boolean excuteSQL(String sql) {
Session session = this.openSession();
boolean t = false;
try {
session.connection().createStatement().execute(sql);
t = true;
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
session.close();
}
return t;
}
public Criteria getCriteria(Class clazz) {
Session session = this.openSession();
Criteria criteria = session.createCriteria(clazz);
session.close();
return criteria;
}
public void saveOrUpdate(final Object entity) {
getHibernateTemplate().saveOrUpdate(entity);
}
public void persist(final Object entity) {
getHibernateTemplate().save(entity);
}
public void update(final Object entity) {
getHibernateTemplate().update(entity);
}
public void delete(final Object entity) {
getHibernateTemplate().delete(entity);
}
public Object load(final Class entity, final Long id) {
Object obj = (Object)getHibernateTemplate().load(entity, id);
return obj;
}
public Object get(final Class entity, final Long id) {
Object obj = (Object)getHibernateTemplate().get(entity, id);
return obj;
}
public Object get(final Class entity, final String id) {
Object obj = (Object)getHibernateTemplate().get(entity, id);
return obj;
}
//本项目使用了该方法
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 List loadAll(final Class entity) {
List list = null;
list = getHibernateTemplate().loadAll(entity);
return list;
}
public List find(final String query) {
List list = null;
list = getHibernateTemplate().find(query);
return list;
}
public List find(final String query, final Object param) {
List list = null;
list = getHibernateTemplate().find(query, param);
return list;
}
public List find(String query, Object[] params) {
List list = null;
list = getHibernateTemplate().find(query, params);
return list;
}
public List findByCriteria(final DetachedCriteria detachedCriteria) {
return (List)getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Criteria criteria = detachedCriteria.getExecutableCriteria(session);
return criteria.list();
}
}, true);
}
}
dwr+spring
需积分: 3 22 浏览量
2008-09-24
15:25:36
上传
评论
收藏 552KB RAR 举报
huangshangwen
- 粉丝: 1
- 资源: 7