`

hibernate 整合spring

阅读更多
首先是Spring整合Hibernate:
以前用我们用Hibernate的时候都是自己创建SessionFactory,然后创建Session。之后用Session操纵数据库。而现在我们可以用HibernateDaoSupport这个类,这个类是Spring里面的一个类,是借助Spring的帮组来完成我们的hibernate数据库操作。我们的Dao类可以继承这个类,然后有个方法getHibernateTemplate(),这个方法是获得针对当前Dao类的Hibernate模板,这个模板里有操纵数据库的各种方法,而且也有getSession()获得Session的方法。【模板里的操纵数据库的各种方法底层其实就是用的是Session在操纵数据库】


jar包引入方式参见iteye博客文章: java三大框架独立运行以及互相之间整合各自需要用到的jar文件以及配置方式  里面的hibernate整合spring步骤


HibernateDaoSupport是Spring里面的一个类(org.springframework.orm.hibernate3.support),这是一个方便的父类,用于基于hibernate Dao的数据访问对象。这个类里面有一些session,比如getSession()方法,返回的就是Hibernate里面的那个session。里面最重要的一个方法是getHibernateTemplate()方法,获得针对当前Dao的Hibernate模板。而得到的HibernateTemplate类里面的方法很多都是类似于Hibernate里面的Session里面的方法,其实它们底层的实现就是对应的采用Hibernate里面的Session里的对应的方法实现的。

而HibernateDaoSupport这个类是严重依赖于配置文件的,没有配置文件,它根本不知道SessionFactory在哪里。所以一定要通过Spring的配置文件告诉它SessionFactory在哪里,然后给它注入进去。但是问题又来了,SessionFactory对象我们又从哪里得到呢?hibernate整合Spring之后,hibernate的配置文件hibernate.cmf.xml就不用了,都配置在Spring的配置文件applicationContext.xml里面。所以现在SessionFactory是由Spring统一管理的,SessionFactory放到Spring的IOC容器里面由Spring来统一管理。下面讲解applicationContext.xml的配置方式。

1、 将SessionFactory注入到HibernateDaoSupport里。
2、 自己构建SessionFactory。获得SessionFactory有两种方式,第一种是通过获得一个连接,然后连接注入到SessionFactory里即可(以前讲的);第二种是使用数据库连接池,其实在实际开发里面单纯的用一个个连接这种方式基本不用,实际开发中用的都是数据库连接池,以前讲那种方式在实际开发中基本不用,java中常用的一种数据库连接池是dbcp,  要想使用dbcp就需要加入它依赖的jar包,commons-dbcp.jar和commons-pool.jar,我们用dbcp的时候要用到的一个类是BasicDataSource,数据源,我们需要在Spring的配置文件里面配置好数据源(配置上去之后就说明项目使用了dbcp)。数据源是一切数据的根源,把数据源配置好了,它可以给我们提供连接,然后把数据源注入到SessionFactory里面,这样的话SessionFactory就可以获得连接了,然后再把SessionFactory注入到HibernateDaoSupport(自己的Dao里)里面,然后就可以把Dao注入到Service层里面去…



我们在Spring的配置文件里面配置完连接池之后,就需要配置SessionFactory了,创建SessionFactory,注意,这个时候(Hibernate整合Spring之后)我们就不再使用Hibernate的那个SessionFactory了,在Spring里它提供了一个对SessionFactory的封装,封装的类的名字是LocalSessionFactoryBean。LocalSessionFactoryBean会创建一个SessionFactory,创建SessionFactory需要将刚配置完成的数据源BasicDataSource注入到LocalSessionFactoryBean里面。

因为这里的LocalSessionFactoryBean代表了Hibernate那个配置文件hibernate.cfg.xml,对于那个文件自己还有一些额外的信息,比如是否显示hql语句、映射文件在什么地方等等。mappingResource参数指定的是hbm文件的位置映射。

我们自己写的dao本身继承了HibernateDaoSupport,而HibernateDaoSupport又依赖于上面配置完成的sessionFactory,所以需要将sessionFactory注入到Dao里面。


详细整合信息见附件工程:重点查看配置文件applicationContext.xml连接池配置方式

分享到:
评论

相关推荐

    最简单的hibernate整合spring(1)

    标题“最简单的hibernate整合spring(1)”指的是将Hibernate ORM框架与Spring框架进行集成的初级教程。在Java开发中,这两个框架的结合是常见的做法,可以提供方便的数据持久化和依赖注入服务。本教程可能涵盖了如何...

    spring-hibernate.jar

    spring-hibernate.jar

    Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA

    在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...

    Spring SpringMVC Hibernate整合

    Spring SpringMVC Hibernate整合 Spring SpringMVC Hibernate整合 Spring SpringMVC Hibernate整合 Spring SpringMVC Hibernate整合 Spring SpringMVC Hibernate整合

    Spring+hibernate整合源代码

    这个“Spring+hibernate整合源代码”应该包含了实现上述整合步骤的示例代码,可以作为学习和参考的资源。通过学习和实践这些代码,你可以更好地理解和掌握 Spring 和 Hibernate 整合的细节,提升你的 Java Web 开发...

    Spring整合Hibernate案例

    - 整合Spring和Hibernate的主要目的是利用Spring的管理能力,让Hibernate的DAO(数据访问对象)和SessionFactory可以通过Spring的IoC(控制反转)容器进行管理和注入,提高代码的可测试性和可维护性。 3. **整合...

    hibernate与spring整合demo

    将Hibernate与Spring整合可以充分利用两者的优点,提高开发效率并降低复杂性。 一、Hibernate概述 Hibernate是Java世界中领先的ORM框架之一,它允许开发者用Java对象来操作数据库记录,而无需编写SQL语句。通过配置...

    springmvc spring hibernate整合Demo

    这个"springmvc spring hibernate整合Demo"旨在帮助初学者理解如何将这三个框架协同工作,实现一个完整的CRUD(创建、读取、更新、删除)应用。 Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序。它...

    SpringMVC+Hibernate+Spring整合实例

    总的来说,"SpringMVC+Hibernate+Spring整合实例"提供了一个全面的学习平台,帮助开发者深入理解Java企业级应用的开发模式和最佳实践。通过这个实例,你可以提升自己的技能,为未来的项目开发打下坚实的基础。

    Struts2+Hibernate+Spring整合开发深入剖析与范例应用03

    Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...

    Spring与Hibernate整合

    在"25_黑马程序员_黎活明_Spring2.5视频教程_搭建和配置Spring与Hibernate整合的环境.avi"这个文件中,可能详细演示了如何配置这些库到项目的类路径中。 接着,需要配置Spring的IoC容器。这可以通过XML配置文件完成...

    spring_struts_hibernate整合开发书籍

    《Spring+Struts+Hibernate整合开发》是一本深入讲解企业级Java应用开发的书籍,它主要聚焦于三大著名开源框架——Spring、Struts和Hibernate的集成与应用。这些框架是Java Web开发中的基石,广泛应用于各种复杂的...

    10.6struts2+hibernate+spring的整合源代码

    SSH(Struts2+Spring+Hibernate)框架整合是Java Web开发中常见的一种技术栈,能有效地提高开发效率和代码质量。 Struts2作为MVC框架,主要负责处理HTTP请求,控制应用程序的流程,提供视图和控制器的分离。它的...

    hibernate和spring整合Java项目

    本文将深入探讨Hibernate与Spring的整合过程,以及在项目中的实际应用。 一、Hibernate简介 Hibernate是一个强大的ORM框架,它为Java开发者提供了一种方便的方式来管理数据库操作。通过使用Hibernate,我们可以将...

    Struts+Hibernate+Spring整合项目之登录部分

    3. **整合Hibernate和Spring**:在applicationContext.xml中配置SessionFactory,并声明User实体类的映射文件,让Spring管理SessionFactory。 4. **编写Action**:创建登录Action,处理用户提交的登录请求,通过...

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts 2+Hibernate+Spring整合开发技术详解sample.pdf

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例全书

    《精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例全书》是一本深入探讨J2EE Web应用程序开发的专业书籍。J2EE,全称Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级分布式应用程序的...

Global site tag (gtag.js) - Google Analytics