Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供了两个方法:
public final HibernateTemplate getHibernateTemplate()
public final void setSessionFactory(SessionFactory sessionFactory)
其中,setSessionFactory方法接收来自Spring的applicationContext的依赖注入,接收了配置在Spring 中的SessionFactory实例,getHibernateTemplate方法用来利用刚才的SessionFactory生成Session, 再生成HibernateTemplate来完成数据库的访问。
典型的继承HibernateDaoSupport的DAO代码如下:
public class UserDAOImpl extends HibernateDaoSupport implements UserDAO{
public void save(Users transientInstance) {
log.debug("saving Users instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
………………
}
实 际上,DAO的实现依然借助了HibernateTemplate的模板访问方式,只是,HibernateDaoSupport将依赖注入 SessionFactory的工作已经完成,获取HibernateTemplate的工作也已经完成。注意,这种方法须在Spring的配置文件中配 置SessionFactory。
在继承HibrnateDaoSupport的DAO实现里,Hibernate Session的管理完全不需要Hibernate代码打开,而由Spring来管理。Spring会根据实际的操作,采用“每次事务打开一次 session”的策略,自动提高数据库访问的性能。
相关推荐
HibernateDaoSupport详解 HibernateDaoSupport详解
.相同点:在applicationConext.xml中 ... HibernateDaoSupport: 在impl中要调用的方法要getHibernateTemplate().delete(user); UserDaoHiberateImpl: 在impl中要调用的方法要hibernateTemplate.save(user);
hibernateDaoSupport类的详解!
HibernateDaoSupport的使用
NULL 博文链接:https://yizhilong28.iteye.com/blog/818989
Spring hibernate3. HibernateDaoSupport 源码
SSH整合(其中dao用extends HibernateDaoSupport方式)总结【图解】
HibernateDaoSupport 类的jar HibernateDao 的jar
springboot2.0多数据源集成hibernate配置hibernateDaoSupport, dao层继承hibernateDaoSupport, 不使用jpa方式。
HibernateDaoSupport分页.txt
hibernateTemplate和HibernateDaoSupport
HibernateDaoSupport与JdbcDaoSupport总结
HibernateDaoSupport方法的解释,比较详细,对初学者很有帮助
HibernateDaoSupport二次封装组件,快速统计和查询,修改,删除,并且对SQL语句的in,or,exitsts都有涉及
编写DAO的时候尽量不直接使用hibernate或者spring对hiberanate的支持
NULL 博文链接:https://godit.iteye.com/blog/1716651
NULL 博文链接:https://wxinpeng.iteye.com/blog/1162157
6.5 Spring整合Hibernate 6.6 Spring提供的DAO支持 6.5.2 管理Hibernate的SessionFactory 6.5.3 使用HibernateTemplate 6.5.4 使用HibernateCallBack 6.5.6 使用IoC容器组装...6.5.8了解继承自HibernateDaoSupport类DAO
spring-boot 集成hibernate,使用druid数据库连接池,dao继承HibernateDaoSupport 的实现,
MyEclipse 2014 使用hibernate3 生成数据库实体类 和 xml映射文件