Spring整合Hibernate其实也就是把Hibernate的SessionFactory对象封装成:org.springframework.orm.hibernate3.LocalSessionFactoryBean

在由自己来保管和控制。
在配置LocalSessionFactoryBean的时候,如果要用到hibernate.cfg.xml配置文件,那么就要配置:
configLocations属性,这个属性就是叫Spring在配置LocalSessionFactoryBean的时候去configLocations调用该配置。
  1. <bean name="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  2. <!-- 使用hibernate.cfg.xml配置文件 -->
  3. <property name="configLocations">
  4. <value>classpath:hibernate.cfg.xml</value>
  5. </property>
  6. ....
  7. </bean>
如果,没有配置这个属性的话,hibernate.cfg.xml配置文件会被忽略的。也就是没有效果。


因为Spring的applicationContext.xml文件可以直接配置hibernate.cfg.xml中的所有内容,所以可以不需要配置hibernate.cfg.xml。
比如说:
  • 在hibernate.cfg.xml中配置数据库的其它配置:
  1. <!-- 设置数据库方言 -->
  2. <property name="connection.dialect">
  3. org.hibernate.dialect.MySQLDialect
  4. </property>
  5. <property name="show_sql">true</property>
  6. <property name="hbm2ddl.auto">update</property>
  • 在Spring的applicationContext.xml文件中配置数据库的其它配置:
  1. <!-- 相当于hibernate.cfg.xml配置的信息 -->
  2. <property name="hibernateProperties">
  3. <props>
  4. <prop key="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</prop>
  5. <prop key="hibernate.show_sql">true</prop>
  6. <prop key="hibernate.hbm2ddl.auto">update</prop>
  7. </props>
  8. </property>
#############################################################################
  • 在hibernate.cfg.xml中配置数据库连接池:
  1. <!-- 设置数据库驱动 -->
  2. <property name="connection.driver_class">com.mysql.jdbc.driver</property>
  3. <!-- 设置数据库链接地址 -->
  4. <property name="connection.url">jdbc:mysql://localhost:3306/oa</property>
  5. <!-- 设置数据库账户 -->
  6. <property name="connection.username">root</property>
  7. <!-- 设置数据库密码 -->
  8. <property name="connection.password"></property>
  9. ......
  • 在Spring的applicationContext.xml文件中配置数据库连接池:
  1. <!-- 配置数据链接池 -->
  2. <property name="dataSource">
  3. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  4. <!-- 从jdbc.properties配置文件中获取值 -->
  5. <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/oa"></property>
  6. <!-- 从jdbc.properties配置文件中获取值 -->
  7. <property name="driverClass" value="com.mysql.jdbc.driver"></property>
  8. <!-- 从jdbc.properties配置文件中获取值 -->
  9. <property name="user" value="root"></property>
  10. <!-- 从jdbc.properties配置文件中获取值 -->
  11. <property name="password" value=""></property>
  12. <!-- 其它配置 -->
  13. <!-- 初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default:3 -->
  14. <property name="initialPoolSize" value="3"></property>
  15. .....
  16. </property>

  • 在hibernate.cfg.xml中配置实体对象的映射文件:
  1. 在hibernate.cfg.xml中配置实体对象的映射文件:
  2. <mapping resource="cn/czk/oa/domain/Department.hbm.xml" />
  3. <mapping resource="cn/czk/oa/domain/Privilege.hbm.xml" />
  4. <mapping resource="cn/czk/oa/domain/Role.hbm.xml" />
  5. <mapping resource="cn/czk/oa/domain/User.hbm.xml" />
  • 在Spring的applicationContext.xml中配置实体对象的映射文件
  1. <bean name="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  2. .....
  3. <!-- 配置映射文件 -->
  4. <property name="mappingResources">
  5. <list>
  6. <value>cn/czk/oa/domain/User.hbm.xml</value>
  7. <value>cn/czk/oa/domain/Department.hbm.xml</value>
  8. <value>cn/czk/oa/domain/Role.hbm.xml</value>
  9. <value>cn/czk/oa/domain/Privilege.hbm.xml</value>
  10. </list>
  11. </property>
  12. .....
  13. </bean>


Spring整合Hibernate的时候使用hibernate.cfg.xml的更多相关文章

  1. MyBatis Spring整合配置映射接口类与映射xml文件

    本文转自http://blog.csdn.net/zht666/article/details/38706083 Spring整合MyBatis使用到了mybatis-spring,在配置mybati ...

  2. spring整合springMVC、mybatis、hibernate、mongodb框架

    开发环境 eclipse Mars 4.5 JDK 1.7 框架 spring 4.0.5 mybatis 3.2.7 hibernate 4.3.6 mongodb 1.7 数据库 MySQL 5. ...

  3. spring整合mybatis错误:Caused by: org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 62; 文档根元素 "mapper" 必须匹配 DOCTYPE 根 "configuration"。

    运行环境:jdk1.7.0_17+tomcat 7 + spring:3.2.0 +mybatis:3.2.7+ eclipse 错误:Caused by: org.xml.sax.SAXParseE ...

  4. struts2,hibernate,spring整合笔记(3)

    struts2,hibernate,spring整合笔记(1) struts2,hibernate,spring整合笔记(2) 配好struts和hibernate就要开始spring了 老规矩,还是 ...

  5. springMVC+MyBatis+Spring 整合(4) ---解决Spring MVC 对AOP不起作用的问题

    解决Spring MVC 对AOP不起作用的问题 分类: SpringMVC3x+Spring3x+MyBatis3x myibaits spring J2EE2013-11-21 11:22 640 ...

  6. Spring整合EHCache框架

    在Spring中使用缓存可以有效地避免不断地获取相同数据,重复地访问数据库,导致程序性能恶化. 在Spring中已经定义了缓存的CacheManager和Cache接口,只需要实例化便可使用. Spr ...

  7. Mybatis 和Spring整合之原始dao开发

    F:\Aziliao\mybatis\代码\31.mybatis与spring整合-开发原始dao 1.1. SqlMapConfig.xml <?xml version="1.0&q ...

  8. mybatis 高级映射和spring整合之与Spring整合(6)

    mybatis 高级映射和spring整合之mybatis与Spring整合 3.0 mybatis和spring整合(掌握) 3.1 整合思路 需求spring通过单例方式管理SqlSessionF ...

  9. RabbitMQ入门到进阶(Spring整合RabbitMQ&SpringBoot整合RabbitMQ)

    1.MQ简介 MQ 全称为 Message Queue,是在消息的传输过程中保存消息的容器.多用于分布式系统 之间进行通信. 2.为什么要用 MQ 1.流量消峰 没使用MQ 使用了MQ 2.应用解耦 ...

随机推荐

  1. Sth about 函数式编程(Functional Programming)

    今天开会提到了函数式编程,针对不同类型的百年城方式,查阅了一部分资料,展示如下: 编程语言一直到近代,从汇编到C到Java,都是站在计算机的角度,考虑CPU的运行模式和运行效率,以求通过设计一个高效的 ...

  2. 进程管理利器Supervisor--入门简介

    目录 概述 Supervisor是什么 Supervisor意图 Supervisor特性 Supervisor组件 平台需求 概述 项目运行需要后台运行,一般都是使用 nohup,但是nohup不能 ...

  3. HDU 4910 HDOJ Problem about GCD BestCoder #3 第四题

    首先 m = 1 时 ans = 0对于 m > 1 的 情况 由于 1 到 m-1 中所有和m互质的数字,在 对m的乘法取模 运算上形成了群 ai = ( 1<=a<m & ...

  4. 如何从oracle官网中下载The java language specification(java 语言规范)

    第一步: 第二步: 第三步:下面这个图在这个页面的下方,所以你只要一直往下看,直到看到下图的文字为止: 第四步: 第五步: 这样你就可以成功下载该java 语言规范的pdf了. 它直接下载的网址为: ...

  5. java爬虫--使用正则表达式获取网页中的email

    package com.enation.newtest; import java.io.*; import java.util.regex.*; import java.net.*; public c ...

  6. Springboot+Redis序列化坑

    今天在测试springboot整合redis的时候遇到下面这个坑,百度来百度去发现提示都是ajax的问题,真的是醉了,错误提示如下所示,不信大家可以直接复制百度一下答案是什么(流泪中....),错误如 ...

  7. RabbitMQ Windows下安装问题解决

    一.问题描述 安装后出现如下问题描述 C:\Program Files\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl status ...

  8. 转:python安装pycrypto

    from: http://ljhzzyx.blog.163.com/blog/static/3838031220136592824697/   在windows下用一下开源工具就是悲催,如题pytho ...

  9. Kubernetes-glusterfs配置

    #############################################pvc与pv的区别#pv可以看做一块硬盘,pv可以有很多块不同大小的硬盘,比如有10G,50G,100G的3个 ...

  10. java1.7集合源码阅读:ArrayList

    ArrayList是jdk1.2开始新增的List实现,首先看看类定义: public class ArrayList<E> extends AbstractList<E> i ...