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. spring.net 框架分析(三)ContextRegistry.GetContext()

    我们通过ContextRegistry.GetContext()建立了一个IApplicationContext得实例,那么这个实例具体是怎么建立的了. 我们来分析一下容器实例建立的过程: 我们在配置 ...

  2. 配置VSCode右键菜单

    修改注册表,添加鼠标右键 选择文件 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\VSCode]@="Ope ...

  3. [LeetCode] Search for a Range 搜索一个范围

    Given a sorted array of integers, find the starting and ending position of a given target value. You ...

  4. ElasticSearch第二步-CRUD之Sense

    ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSea ...

  5. 归一化方法 Normalization Method

    1. 概要 数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果.然而除非对这些算法有丰富的使用经验,否则预处理的精确参数并非显而易见. 2. ...

  6. 关于#define for if(false);else for

    今日在看一个第三方代码时看到了#define for if(false);else for 这样的一种定义,不明白这样用法的目的,于是查了一下. 这是一个兼容vc6.0的用法,csdn上有这个问题的回 ...

  7. C#-WebForm-Repeater-重复器

    Repeater-重复器 - 类似WinForm中的ListView,用列表来展示数据 格式: <body> <form id="form1" runat=&qu ...

  8. css学习笔记(2)

    ----------------|-------------------------|------------------ 标签名           英文全拼                  中文 ...

  9. Android studio

      情况一: 描述:写Android app时,出现activity对应的layout预览图所显示的activity是有标题栏的,但是运行该app,无论是模拟器还是真机,却出现没有了标题栏的情况,而自 ...

  10. BZOJ 4726: [POI2017]Sabota?

    4726: [POI2017]Sabota? Time Limit: 20 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 301  Solved ...