(1)BaseDao.java
import java.io.Serializable;
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class BaseDao extends HibernateDaoSupport {
private static final Log log = LogFactory.getLog(BaseDao.class);
private SessionFactory mySessionFactory;
public SessionFactory getMySessionFactory() {
return mySessionFactory;
}
@Autowired
public void setMySessionFactory(SessionFactory mySessionFactory) {
this.mySessionFactory = mySessionFactory;
}
@PostConstruct
private void setSuperSessionFactory(){//BaseDao被初始化里执行这个方法
super.setSessionFactory(mySessionFactory);
}
/* @Resource(name="sessionFactory")
private void setSuperSessionFactory(SessionFactory sessionFactory){
this.setSessionFactory(sessionFactory);
}
*/
public boolean createObj(Object o) {
boolean rtn = false;
log.debug("开始保存实例:"+o.getClass().getName());
try{
HibernateTemplate ht = this.getHibernateTemplate();
ht.save(o);
ht.flush();
rtn = true;
log.debug("保存实例["+o.getClass().getName()+"]成功!");
}catch(HibernateException e){
rtn = false;
log.error("保存"+o.getClass().getName()+"实例到数据库失败!",e);
}
return rtn;
}
}
(2)CompanyDao.java
import org.hibernate.Session;
import org.springframework.stereotype.Repository;
import com.entry.TCompanyInfo;
@Repository("companyDao")
public class CompanyDao extends BaseDao {
}