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. 项目实现不同环境不同配置文件-maven profile

    最近接触的项目都是在很多地方都落地的项目,需要支持不同的环境使用不同的配置文件.一直以来都以为是人工的去写不同的配置文件,手动的去修改运用的配置文件.感觉自己还是太low呀.maven的使用的还停留在 ...

  2. python爬虫学习(7) —— 爬取你的AC代码

    上一篇文章中,我们介绍了python爬虫利器--requests,并且拿HDU做了小测试. 这篇文章,我们来爬取一下自己AC的代码. 1 确定ac代码对应的页面 如下图所示,我们一般情况可以通过该顺序 ...

  3. 做了一个sublime text插件

    做了一个sublime text插件,可以方便地查看C++/python的调用图.插件的演示视频在这里: http://list.youku.com/albumlist/show?id=2820226 ...

  4. [LeetCode] Balanced Binary Tree 平衡二叉树

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  5. 两种适用于中小量数据的mysql数据备份

    近来项目的业务量开始大了,感觉如果数据不周期性地备份一下,很可能会出现问题,虽然我每天都有阿里云的自动快照,上网找了一下方法,找到两种相对简单而又适合中小项目或者中小公司的数据备份策略,以下都是数据库 ...

  6. 远程桌面时plsql的复制粘贴功能失效

    解决办法:重新启动远程桌面上的rdpclip进程就可以复制粘贴了,但是每次重开远程桌面都会出现同样的问题.可以rdpclip这个设置成开机启动.

  7. 【BZOJ-4197】寿司晚宴 状压DP

    4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 694  Solved: 440[Submit][Status] ...

  8. 【原创】自己动手写工具----XSmartNote [Beta 3.0]

    一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ...

  9. python的错误和异常

    python错误和异常 错误 错误分为语法错误和逻辑错误 语法错误 >>> if File "<stdin>", line 1 if ^ Syntax ...

  10. redis 操作 hash 的测试

    1>hset setname field value hset stuSet name zhangsan:1        2>hget setname field hget stuset ...