Spring对hibernate配置文件hibernate.cfg.xml的集成,来取代hibernate.cfg.xml的配置。

 spring对hibernate配置文件hibernate.cfg.xml的集成相当好,可以在Spring中配置Hibernate的SessionFactory从而取代Hibernate.cfg.xml和HibernateSessionFactory.java

   Spring在集成Hibernate时又分为两种形式:
1、继续使用Hibernate的映射文件*.hbm.xml
2、使用jpa注解形式的pojo对象,而去掉*.hbm.xml的Hibernate映射文件

 首先要引入jar包

  

  需要的这里有http://pan.baidu.com/s/1mhILAkg

一.继续使用Hibernate的映射文件*.hbm.xml

     

   <!-- 定义dbcp数据源 -->
   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
      <!-- 指定jdbc驱动 -->
      <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
      <!-- 连接数据库的url地址 -->
      <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
      <!-- 连接数据的用户名和密码 -->
      <property name="username" value="hyj"></property>
      <property name="password" value="123"></property>
   </bean>

   <!-- 定义sessionFactory -->
   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <!-- 为LocalSessionFactoryBean注入定义好的数据源 -->
      <property name="dataSource">
         <ref bean="dataSource"/>
      </property>
      <!--添加hibernate配置参数 -->
      <property name="hibernateProperties">
         <props>
             <!-- 每个数据库都有其对应的Dialect以匹配其平台特性 -->
             <prop key="hibernate.dialect">
             org.hibernate.dialect.Oracle10gDialect
             </prop>
             <!-- 是否将运行期生成的sql输出到日志以供调试 -->
             <prop key="hibernate.show_sql">
             true
             </prop>
             <!-- 是否格式化sql -->
             <prop key="hibernate.format_sql">
             true
             </prop>
              <prop key="hibernate.hbm2ddl.auto">
              update
             </prop>
         </props>
      </property>

      <!-- 添加对象关系映射 -->
      <property name="mappingResources">
         <list>
           <value>classpath:cn/entity/User.hbm.xml</value>
         </list>
      </property>
   </bean>
   

    二.使用jpa注解形式的pojo对象,而去掉*.hbm.xml的Hibernate映射文件

    这里需要注意的就是

1.spring中配置SessionFactory bean时它对应的class应为

org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean

2.

AnnotationSessionFactoryBean中查找jpa注解形式的pojo映射对象的属性有:annotatedClasses、packagesToScan

① annotatedClasses:指定classpath下指定的注解映射实体类的类名

② packagesToScan指定映射文件的包名

<!-- 定义dbcp数据源 -->
   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
      <!-- 指定jdbc驱动 -->
      <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
      <!-- 连接数据库的url地址 -->
      <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
      <!-- 连接数据的用户名和密码 -->
      <property name="username" value="hyj"></property>
      <property name="password" value="123"></property>
   </bean>

   <!-- 定义sessionFactory -->
   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
      <!-- 为LocalSessionFactoryBean注入定义好的数据源 -->
      <property name="dataSource">
         <ref bean="dataSource"/>
      </property>
      <!--添加hibernate配置参数 -->
      <property name="hibernateProperties">
         <props>
             <!-- 每个数据库都有其对应的Dialect以匹配其平台特性 -->
             <prop key="hibernate.dialect">
             org.hibernate.dialect.Oracle10gDialect
             </prop>
             <!-- 是否将运行期生成的sql输出到日志以供调试 -->
             <prop key="hibernate.show_sql">
             true
             </prop>
             <!-- 是否格式化sql -->
             <prop key="hibernate.format_sql">
             true
             </prop>
              <prop key="hibernate.hbm2ddl.auto">
              update
             </prop>
         </props>
      </property>

      <!-- 添加对象关系映射 -->
      <property name="packagesToScan">
         <list>
           <value>cn.entity.*</value>
         </list>
      </property>
   </bean>

Spring配置文件集成Hibernate配置文件的更多相关文章

  1. spring 配置参数从配置文件中加载到PropertiesFactoryBean 和配置参数从数据库加载到PropertiesFactoryBean 的实现,及项目中的相关应用

    1.加载.properties文件中的配置参数加载到PropertiesFactoryBean容器中 <bean id="configProperties" class=&q ...

  2. 【spring配置】 一组配置文件引出的问题

    applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?> <beans x ...

  3. spring整合hibernate配置文件

    Spring对hibernate配置文件hibernate.cfg.xml的集成,来取代hibernate.cfg.xml的配置 spring对hibernate配置文件hibernate.cfg.x ...

  4. Spring的DataSource配置、将Hibernate配置所有写到Spring配置

    DataSource能够集中管理数据库连接,降低维护工作量,使部署更简单: Spring的DataSource配置:(Spring数据源配置)这里使用dbcp,还有非常多其它的如c3p0,jdbc,j ...

  5. struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

    为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...

  6. Spring的DataSource配置、将Hibernate配置全部写到Spring配置

    DataSource可以集中管理数据库连接,减少维护工作量,使部署更简单: Spring的DataSource配置:(Spring数据源配置)这里使用dbcp,还有很多其他的如c3p0,jdbc,jn ...

  7. Spring Boot + Jpa(Hibernate) 架构基本配置

    本文转载自:https://blog.csdn.net/javahighness/article/details/53055149 1.基于springboot-1.4.0.RELEASE版本测试 2 ...

  8. Spring监管下的Hibernate配置文件

    今天看了看别人的程序,用的是SSH搭建的,自己回忆了下感觉假设採用注解的话那么Hibernate的配置文件hibernate.cfg.xml是还须要的,而*.hbm.xml则能够被注解所替代的,结果确 ...

  9. spring配置hibernate映射文件-------通配符

    <!-- 这里一定要注意是使用spring的mappingLocations属性进行通配的 -->      <property name="mappingLocation ...

随机推荐

  1. Centos6下安装高版本Git

    yum remove git .tar.gz /usr/src/ cd /usr/src/ cd git-/ make configure whereis autoconf yum install a ...

  2. JavaScript自动生成博文目录导航

    转载于:JavaScript自动生成博文目录导航 我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到 具体的内容 ...

  3. linux系统top命令查看系统状态

    Linux系统可以通过top命令查看系统的CPU.内存.运行时间.交换分区.执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够.CPU处理能力不够.IO读写过高. 使用SSH ...

  4. [LeetCode] Fraction to Recurring Decimal 分数转循环小数

    Given two integers representing the numerator and denominator of a fraction, return the fraction in ...

  5. [LeetCode] Set Matrix Zeroes 矩阵赋零

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. click ...

  6. JAVA多线程的总结

    1-----------------------------------基本概念------------------------------------------------- (1)多线程:一个应 ...

  7. flexbox布局神器

    前言 2009年,W3C提出了一种新的方案----Flexbox布局(弹性布局),可以简便.完整.响应式地实现各种页面布局.Flex布局模型不同于块和内联模型布局,块和内联模型的布局计算依赖于块和内联 ...

  8. mysq大数据分页

    mysql limit大数据量分页优化方法 Mysql的优化是非常重要的.其他最常用也最需要优化的就是limit.Mysql的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急 ...

  9. 如何解决ajax重复提交的问题

    如下一段代码: 先忽略我没引jquery.js的问题,这是一个案例. 当我们点击提交时,控制台输出两次e,在network里查看,可以看到我们的ajax传输了两次,造成了数据重复提交. 一种解释为bu ...

  10. java+jsp+servlet实现分页

    web.xml配置: <servlet> <servlet-name>abc</servlet-name> <servlet-class>test.pa ...