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. 【bzoj3530】[Sdoi2014]数数 AC自动机+数位dp

    题目描述 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串.例如当S=(22,333,0233)时,233是幸运数,2333.20233.3223不是幸运 ...

  2. THUWC2018 题解

    2018清华冬令营 又一次由于接连而至的玄学现象跪惨,错失良机,就不再公开提我这次惨痛的经历了,写点干货-- day1 A 零食 (1s, 1G) 试题简述 \(n\) 种物品1,\(m\) 种物品2 ...

  3. [codeforces] 578C Weakness and Poorness || 三分

    原题 题目定义了两个变量: poorness表示一个区间内和的绝对值. weakness表示一个所有区间最大的poornesss 题目要求你求一个x使得 a1 − x, a2 − x, ..., an ...

  4. BZOJ4032 [HEOI2015]最短不公共子串 【后缀自动机 + 序列自动机 + dp】

    题目链接 BZOJ4032 题解 首先膜\(hb\) 空手切神题 一问\(hash\),二问枚举 三问\(trie\)树,四问\(dp\) 南二巨佬神\(hb\) 空手吊打自动机 \(orz orz ...

  5. org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [WebApp] in context with path关于数据库库的问题

    1.在本地~~把你的查询的sql打印出来~~~然后拿到测试库里面执行一遍~~然后拿到正式库里面在执行一遍  2.看生产和本地~~1).代码不同步:2).就是数据为空问题 3.也有可能是数据库配置文件问 ...

  6. Bzoj2165 大楼

    Time Limit: 40 Sec  Memory Limit: 259 MBSubmit: 779  Solved: 285[Submit][Status][Discuss] Descriptio ...

  7. HDU5187 zhx's contest

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission ...

  8. Java学习之Iterator(迭代器)

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的I ...

  9. 当表名存在 点 的时候,EntityFramework的写法

    原文发布时间为:2011-05-17 -- 来源于本人的百度文章 [由搬家工具导入] 需要在 Context 中,重写 DbContext 中的 OnModelCreating 方法 进行 mappi ...

  10. bind 简单配置dns

    一. 安装apt-get install bind9 apt-get install bind9-host dnsutils apt-get install bind9-doc 二.修改本机配置我们要 ...