初始化项目2
This commit is contained in:
137
src/com/jsh/base/BaseDAO.java
Normal file
137
src/com/jsh/base/BaseDAO.java
Normal file
@@ -0,0 +1,137 @@
|
||||
package com.jsh.base;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.Query;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
||||
|
||||
import com.jsh.util.common.PageUtil;
|
||||
import com.jsh.util.common.SearchConditionUtil;
|
||||
|
||||
public class BaseDAO<T> extends HibernateDaoSupport implements BaseIDAO<T>
|
||||
{
|
||||
protected Class<T> entityClass;
|
||||
|
||||
public void setPoJoClass(Class<T> c)
|
||||
{
|
||||
this.entityClass = c;
|
||||
}
|
||||
|
||||
protected Class<T> getEntityClass()
|
||||
{
|
||||
return this.entityClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Serializable create(T t) throws DataAccessException
|
||||
{
|
||||
return this.getHibernateTemplate().save(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(T t) throws DataAccessException
|
||||
{
|
||||
this.getHibernateTemplate().delete(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public T get(Long objID) throws DataAccessException
|
||||
{
|
||||
return (T) this.getHibernateTemplate().get(getEntityClass(), objID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(T t) throws DataAccessException
|
||||
{
|
||||
this.getHibernateTemplate().update(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchDelete(String objIDs) throws DataAccessException
|
||||
{
|
||||
this.getHibernateTemplate().bulkUpdate("delete from " + getEntityClass().getName() + " where id in ("+ objIDs + ")");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void find(PageUtil<T> pageUtil) throws DataAccessException
|
||||
{
|
||||
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
|
||||
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+
|
||||
SearchConditionUtil.getCondition(pageUtil.getAdvSearch()));
|
||||
pageUtil.setTotalCount(query.list().size());
|
||||
|
||||
// 分页查询
|
||||
int pageNo = pageUtil.getCurPage();
|
||||
int pageSize = pageUtil.getPageSize();
|
||||
if (0 != pageNo && 0 != pageSize)
|
||||
{
|
||||
query.setFirstResult((pageNo - 1) * pageSize);
|
||||
query.setMaxResults(pageSize);
|
||||
}
|
||||
pageUtil.setPageList(query.list());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public List<T> find(Map<String, Object> conditon)throws DataAccessException
|
||||
{
|
||||
return this.getHibernateTemplate().find(" from " + getEntityClass().getName() + " where 1=1 "+ SearchConditionUtil.getCondition(conditon));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public List<T> find(String hql) throws DataAccessException
|
||||
{
|
||||
return this.getHibernateTemplate().find(" from " + getEntityClass().getName() + " where 1=1 "+ hql);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public List<T> find(Map<String, Object> conditon, int pageSize, int pageNo)throws DataAccessException
|
||||
{
|
||||
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
|
||||
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ SearchConditionUtil.getCondition(conditon));
|
||||
query.setFirstResult((pageNo - 1) * pageSize);
|
||||
query.setMaxResults(pageSize);
|
||||
return query.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public List<T> find(String hql, int pageSize, int pageNo)throws DataAccessException
|
||||
{
|
||||
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
|
||||
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ hql);
|
||||
query.setFirstResult((pageNo - 1) * pageSize);
|
||||
query.setMaxResults(pageSize);
|
||||
return query.list();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Integer countSum(Map<String, Object> conditon)throws DataAccessException
|
||||
{
|
||||
List<T> dataList = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
|
||||
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ SearchConditionUtil.getCondition(conditon)).list();
|
||||
return dataList ==null?0:dataList.size();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Integer countSum(String hql) throws DataAccessException
|
||||
{
|
||||
List<T> dataList = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
|
||||
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ hql).list();
|
||||
return dataList ==null?0:dataList.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(T t) throws DataAccessException
|
||||
{
|
||||
this.getHibernateTemplate().save(t);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user