(一)首先认识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 中对Hibernate的session封装
4.在项目中处理数据库的dao 类 须继承 HibernateDaoSupport 然后实现相应的dao 接口
(三)引用数据库连接池dbcp:
org.apache.conmmons.dbcp.BasicDataSource(对数据源的操作:即连接数据库的相关操作)
(四)
整合的步骤:
1. 创建项目后,导入spring,hibernate 的应用
2. 创建操作数据库相关的dao 文件,继承 spring中的 HibernateDaoSupport 类,通过该类的getHibernateTemplate() 方法进行相关操作
3. 由于spring对Hibernate 的完整封装,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 的功能实现。