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. Offer 收割编程练习赛 87B 方圆距离

    与坐标轴平行的矩形和圆的位置关系. 分两种情况. 圆与矩形交集不为空 此时答案为零.问题归结为如何判断圆与矩形交集不为空. 先排除矩形顶点在圆内或圆心在矩形内. 此时,若矩形与圆交集不为空,则必有矩形 ...

  2. POJ 3974 Palindrome | 马拉车模板

    给一个字符串,求最长回文字串有多长 #include<cstdio> #include<algorithm> #include<cstring> #define N ...

  3. POJ 2115 C-Looooops | exgcd

    题目 给出一个循环for(int i=A;i!=B;i+=C) 在mod (1<<k) 下是否可以退出循环 是,输出时间,否输出FORVEER 题解: 题意可以变换成 A+Cx=B (mo ...

  4. 禅与园林艺术(garden)

    禅与园林艺术(garden) 上了大学之后,小W和小Z一起报了一门水课,在做作业时遇到了问题. 有一个长度为nn的数列{ai},为一列树木的美观值. 现在有mm次询问,每次给出三个数l,r,p 询问对 ...

  5. Windows2008下RDP采用私有CA服务器证书搭建文档

    在中小型公司建立企业根证书颁发机构 (CA) http://www.microsoft.com/china/smb/issues/sgc/articles/build_ent_root_ca.mspx ...

  6. 使用org.jsoup.Jsoup下载网络中的图片

    package com.enation.newtest; import java.io.BufferedOutputStream; import java.io.File; import java.i ...

  7. vue刨坑(二)

    vue实例 vue实例 每一个应用都是通过vue这个构造函数创建根实例(root instance),启动 new vue(选项对象) 需要传入选项对象,对象包含挂载元素,数据,模板,方法等. el: ...

  8. java的struts2整理

    readbook:struts2 先说一下struts1:    struts1使用model II 模式开发,即jsp+java bean+servlet    再说它的缺陷:    1.表现层支持 ...

  9. 生成 RSA 私钥及公钥

    $ openssl # 进入 OpenSSL 程序 OpenSSL> genrsa -out rsa_private_key.pem 1024 # 生成私钥 OpenSSL> pkcs8 ...

  10. 培训补坑(day1:最短路&two-sat)

    经过12天的滚粗,终于迎来了暑期培训的结尾啦QAQ 结业考才考了90分,真是对不起孙爷(孙爷请收下我的膝盖) orz小粉兔怒D rank 1 获得小粉兔一只QAQ 由于这次12天的培训题目又比较多,算 ...