下了一个SSH+mysql的例子,里面applicationcontext.xml和hibernate.cfg.xml都有数据库的配置,我想问下,是否两个文件都要做数据库的相关配置?还是一般在一个文件中配置就可以了?
这两个文件有什么关系?

解决方案 »

  1.   

    貌似 applicationcontext中一般是数据源dataSource,是 spring配置数据库的,hibernate.cfg.xml中的是hibernate配置数据库的  两种用一种就行
      

  2.   

    不需要,一个就行了,比如applicationcontext引用hibernate.cfg.xml文件就行了。 <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation">
    <value>classpath:hibernate.cfg.xml</value>
    </property>
        </bean>
      

  3.   

    hibernate.cfg.xml是hibernate里边的配置文件的,在这个文件上配置数据库就可以了,applicationcontext.xml是spring里边的配置文件,并不是用来配置数据库的~
      

  4.   


    直接在hibernate.xml中配置数据源就行了  <bean id="sessionFactory"        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">         <property name="configLocation">             <value>classpath:hibernate.cfg.xml</value>         </property>         </bean>
      

  5.   

    一般都是使用spring来管理hibernate
      

  6.   

     既然还有这种情况?  一般情况下两者选一就行了  
    这有个列子你可以看一下http://download.csdn.net/detail/zhang527/4844652
      

  7.   

    下面是我项目中的部分配置:
    applicationContext.xml中:
    <!-- 配置C3P0数据库连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <!-- 配置数据库连接信息 -->
    <property name="jdbcUrl" value="${jdbcUrl}"></property>
    <property name="driverClass" value="${driverClass}"></property>
    <property name="user" value="${username}"></property>
    <property name="password" value="${password}"></property>
    </bean>
    <!-- 配置SessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
    <property name="dataSource" ref="dataSource"></property>
    </bean>在hibernate.cfg.xml中:
    <!-- 数据库连接信息 -->
    <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    <!-- 其他连接信息 -->
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <!-- 导入映射文件 -->
    <mapping resource="cn/itcast/oa/domain/User.hbm.xml"></mapping>从中应该可以看出数据源的配置都在spring中配置了,hibernate配置的是映射文件和其他的一些连接信息。