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. Unity性能优化(2)-官方教程Diagnosing performance problems using the Profiler window翻译

    本文是Unity官方教程,性能优化系列的第二篇<Diagnosing performance problems using the Profiler window>的简单翻译. 相关文章: ...

  2. 如何用fiddler对ios抓包

    fiddler端设置:(配置好重启fiddler) 1.首先下载安装fiddler,我安装的是fiddler4 2.Tools->Telerik Fiddler Options->HTTP ...

  3. hdu----(1849)Rabbit and Grass(简单的尼姆博弈)

    Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. (原创)使用VMware安装Ubuntu,怎么无法使用startx进入桌面模式?

    最近在VMware中安装Ubuntu时,发现VMware的快速安装后是文本模式,无法使用startx进入桌面模式,非常不方便.此问题为默认安装方式,需要设置安装方式. 操作系统:Windows 8.1 ...

  5. [LeetCode] Second Highest Salary 第二高薪水

    Write a SQL query to get the second highest salary from the Employee table. +----+--------+ | Id | S ...

  6. .NET高性能框架Chloe.ORM-完美支持MySql

    扯淡 这是一款轻量.高效的.NET C#数据库访问框架(ORM).查询接口借鉴 Linq(但不支持 Linq).借助 lambda 表达式,可以完全用面向对象的方式就能轻松执行多表连接查询.分组查询. ...

  7. redis慢查询日志

    运维需要记录一下主redis中那些“慢操作”的命令,然后找到相关的业务方,不然的话,阻塞 就不好玩了.然后就直接在redis手册中就找到了相关的命令. SLOWLOG subcommand [argu ...

  8. chrome中获取元素的样式

    以获取背景颜色为例 html部分 <div id="test">abcd</div> css部分 #test { background-color: rgb ...

  9. JaveScript-解决表格使用滚动条时冻结表头栏问题

    解决方法: //设置表格表头里的th==表格内容里的td function ThEqualTd(thId, tdId) { var tdNum = document.getElementById(td ...

  10. Ext动态加载Toolbar

    在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoa ...