Spring 3.1.1 + Struts 2.3.1.2 + Hibernate 4.1 整合(SSH)(六)

2014-11-24 07:23:29 · 作者: · 浏览: 5
reads=2
disableConnectionTracking=true



Dao代码:


[java]
package dao;

import java.io.Serializable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.SessionFactory;

import system.exception.DaoException;
import bo.PageEntity;
import dao.hqlProvider.IHqlProviderSet;

/**
*
*

Copyright: All Rights Reserved


*

Company: 北京新线科技发展有限公司http://www.NewLineTech.cn


*

Description: Dao实现类


*
* @author:Eric
*/
public class DaoImpl implements IDao{
protected Logger log = Logger.getLogger(DaoImpl.class);

/**
* Hibernate Session 工厂
*/
private SessionFactory sessionFactory;

/** *


*
Description:根据传入的实体向数据库添加一条记录
*
* @author Eric
* @param obj
* @throws DaoException
*/
public void addObject(Object obj) throws DaoException{
log.debug("BaseDao addObject object " + obj);
try{
sessionFactory.getCurrentSession().save(obj);
}catch(Exception e){
throw new DaoException("根据传入对象添加记录异常,请联系管理员!",e);
}
}

/**
*
*
Description:强制刷新Hibernate缓存提交数据更改操作
*
* @author Eric
* @return
* @version V1.0
*/
public void dbFlush() throws DaoException{
log.debug("BaseDao addObject dbFlush");
try{
sessionFactory.getCurrentSession().flush();
}catch(Exception e){
throw new DaoException("刷新缓存失败,请联系管理员!",e);
}
}

/**
*
*
Description:根据传入的实体向数据库添加一条记录,返回插入记录的主键
*
* @author Eric
* @param obj
* @return
* @throws DaoException
*/
public String addObjectPK(Object obj) throws DaoException{
log.debug("BaseDao addObjectPK object " + obj);
String id = null;
try{
id = (String) sessionFactory.getCurrentSession().save(obj);
}catch(Exception e){
throw new DaoException("根据传入对象添加记录异常,请联系管理员!",e);
}
return id;
}

/**
*
*
Description:根据传入的实体从数据库删除一条记录
*
* @author Eric
* @param obj
* @throws DaoException
*/
public void deleteObject(Object obj) throws DaoException{
log.debug("BaseDao deleteObject object " + obj);
try{
sessionFactory.getCurrentSession().delete(obj);
}catch(Exception e){
throw new DaoException("根据传入对象删除记录异常,请联系管理员!",e);
}
}

/**
*
*
Description:根据传入的实体与ID从数据库删除一条记录
*
* @author Eric
* @param cls
* @param id
* @throws DaoException
*/
@SuppressWarnings({"rawtypes"})
public void deleteObject(Class cls,Serializable id) throws DaoException{
log.debug("BaseDao deleteObject Class " + cls.getName() + " id " + id.toString());
try{
this.deleteObject(sessionFactory.getCurrentSession().get(cls,id));
}catch(Exception e){
throw new DaoException("根据传入对象与ID删除记录异常,请联系管理员!",e);
}
}

/**
*
*
Description:根据传入的实体修改数据库中一条记录
*
* @author Eric
* @param obj
* @throws DaoException
*/
public void updateObject(Object obj) throws DaoException{
log.debug("BaseDao updateObject object " + obj);
try{
se