Spring整合Hibernate 实现DAO组件
为了实现DAO组件,Spring提供了大量的XxxDaoSupport类,这些DAO支持类对于实现DAO组件有很大的帮助,因为这些DAO支持类完成了大量基础性工作。
Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供如下两个方法来简化DAO的实现:
(1)public final HibernateTemplate getHibernateTemplate()
(2)public final void setSessionFactory(SessionFactory sessionFactory)
在继承HibernateDaoSupport的DAO实现里,程序无须理会Hibernate的Session管理,Spring会根据实际的操作,采用“每次事务打开一次session”的策略,自动提高数据库访问的性能。
package com.dao.impl;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.dao.IMyHibernateDaoSupport;public class MyHibernateDaoSupport extends HibernateDaoSupport implements IMyHibernateDaoSupport {public void testDao(){List list = getHibernateTemplate().find("from NewsInf");System.out.println("list.size()="+list.size());}}
<bean id="myHibernateDaoSupport" ref="hibernateTemplate"></property></bean>