编写DAO中的代码
Spring整合Hibernate——编写DAO的代码(此时已经去掉Hibernate的核心配置文件)
步骤十:编写DAO中的代码(完成保存的操作)
原理:没整合前需要在dao的方法里去获得一系列对象以及session对象,但整合之后只需要使用Hibernate的模板即可完成相应操作。正常情况下需要在DAO里进行注入,但是Spring已经提供了一个HibernateSupport类,只需DAO类继承它即可(这个类中已经将HibernateTemplate模板注入,通过getHibernateTemplate()即可获得,还有一个好处,这个类提供了一个setSessionFactory(SessionFactory sessionFactory)方法,当在DAO中直接注入SessionFactory属性时(注意property的name要为sessionFactory,DAO继承了这个类的SessionFactory和set方法),该方法会判断当模板为空时会自动创建模板,所以就不用考虑模板对象了)。
【a】DAO继承HibernateDaoSupport
【b】spring配置文件中给DAO注入SessionFactory属性,属性名为sessionFactory
【c】通过this.getHibernateTemplate().save(对象)记性保存操作
在dao中使用hibernate模板 ,1.在 dao的类上继承 sessionFactory 2.在applicationContext中 dao的bean 中注入 上面创建好的sessionfactory。之后在dao中就可以直接使用了( 在到中的save方法中 调用 this.gethibernateTemplate().save(product); 对 product 进行保存操作。)
注入sessionFactory实现方式,继承hibernateDaoSupport