和大家分享一下spring 和Hibernate 整合的几大重难点步骤:

(一)首先认识Spring 对Hibernate 实现了那些封装:

Spring 提供了对Hibernate 的整合,提供了session的创建和Transaction事务的管理

 

 

(二)其次熟悉Spring API中 中提供了哪些处理Hibernate整合的接口和类:

 1.org.springframework.orm.hibernate3.support. HibernateDaoSupport spring对数据库操作的支持

 

 

2.org.springframework.orm.hibernate3 .HibernateTemplate :Hibernate 操作模板

 

3. org.springframework.orm.hibernate. LocalSessionFactoryBean spring 中对Hibernatesession封装

 

4.在项目中处理数据库的dao 须继承 HibernateDaoSupport 然后实现相应的dao 接口

 

 

(三)引用数据库连接池dbcp:

 org.apache.conmmons.dbcp.BasicDataSource(对数据源的操作:即连接数据库的相关操作)

 

(四)

 

整合的步骤:

1.       创建项目后,导入springhibernate 的应用

2.       创建操作数据库相关的dao 文件,继承 spring中的 HibernateDaoSupport 类,通过该类的getHibernateTemplate() 方法进行相关操作

3.       由于springHibernate 的完整封装,hibernate 的配置文件Hibernate.cfg.xml不需要再进行配置,由spring 配置文件同一管理

4.       进行数据源的相关操作:连接数据库;(1)引入数据库连接池dbcp ,通过dbcp获得数据源(连接上数据库)由BasicDataSource 执行相关操作;

5.       获得SessionFactory: 在单独使用Hibernate 时,通过Configuration 可以得到sessionFactory,而整合时,spring 提供了对session工厂的封装:LocalSessionFactoryBean,由该类执行相关操作,从而得到sesionFactory;(该步骤实现了对Hibernate 配置文件的完美代替)

6.       HibernateDaoSupport  依赖于LocalSessionFactoryBean,那就必须得给HibernateDaoSupport 依赖注入 sessionFactory 的实例

注意:到目前为止,我们还没有看到事务操作,这是因为spring 已经替我们做好了,即每次操作就执行了一次事务的提交,但在实际开发中往往是几个操作使用同一个事务,要么一起成功,要么一起失败!说Spring 也提供了很好的支持,使用aop  的功能实现。