• Spring整合Hibernate的时候使用hibernate.cfg.xml


    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>






  • 相关阅读:
    [zz]std::vector,std::deque,std::list的区别的使用
    [zz]有关写c++代码的习惯
    [zz]Ubuntu linux 基本操作 双网卡双IP配置
    [zz]ZooKeeper 典型的应用场景
    [zz]Ubuntu配置双网卡
    java配置文件问题
    Struts2知识积累(2)_核心概念:拦截器
    【双旦献礼】PortalBasic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
    hibernate入门
    为Eclipse定制你自己的注释模板变量
  • 原文地址:https://www.cnblogs.com/JamKong/p/4548785.html
Copyright © 2020-2023  润新知