这几天比较空,就来学一学Spring 与 Hibernate(在spring 的英文参考里有这方面的介绍).
下面主要介绍用了Hibernate这后的改变
1、用了Hibernate在配置文件里需增加sessionFactory配置,如下
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>net/zdsoft/swh/entity/Company.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.cache.provider_class">net.sf.hibernate.cache.OSCacheProvider</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.use_outer_join">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
</props>
</property>
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
2、把事务管理用以下代替
<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
3、DAO把原来的继承的JDBCDaoSupport改为HibernateDaoSupport
再在配置文件中为DAO增加sessionFactory注入,如下
public class CompanyDAOHibernate extends HibernateDaoSupport implements
CompanyDAO {
public Company findById(String id) throws HibernateException {
Company c = (Company) getHibernateTemplate().load(Company.class, id);
return c;
}
public Company addCompany(Company company) throws HibernateException {
getHibernateTemplate().save(company);
return company;
}
public void removeCompany(Company company) throws HibernateException {
getHibernateTemplate().delete(company);
}
public Company updateCompany(Company company) throws HibernateException {
getHibernateTemplate().saveOrUpdate(company);
return company;
}
}
<bean id="companyDAO" class="net.zdsoft.swh.dao.hibernate.CompanyDAOHibernate">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
其他基本不变