当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

在SpringSide 2.0中操纵多个数据库[Java编程]

赞助商链接



  本文“在SpringSide 2.0中操纵多个数据库[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

为了提高网站将来向外扩大的本领,我是用了数据分割的架构,这就要求我的网站可以机动的拜候多个数据库,假如是直接操作JDBC,这根本就不成问题.但是在SpringSide2.0中,由于集成了Hibernate,所以对数据的拜候大部份时刻都是通过配置实现的.

要想在SpringSide2.0中利用多个数据库,最简单的办法就是配置多个sessionFactory,下面是我的摸索步骤.

首先,要改正src/resources/config目录下的jdbc.properties文件,定义多个数据库的衔接,以下:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.urlYumDaysIndex=jdbc:mysql://localhost:3306/YumDaysIndex?useUnicode=true&characterEncoding=utf8
jdbc.urlYumDays001=jdbc:mysql://localhost:3306/YumDays001?useUnicode=true&characterEncoding=utf8

然后,改正src/resources/spring目录下的dataAccessContext-hibernate.xml文件,定义多个数据源,它们之间只有url属性差别:

<!-- 数据源定义,利用Apache DBCP 衔接池 -->
   <bean id="dataSourceYumDaysIndex" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value="${jdbc.driverClassName}"/>
     <property name="url" value="${jdbc.urlYumDaysIndex}"/>
     <property name="username" value="${jdbc.username}"/>
     <property name="password" value="${jdbc.password}"/>
   </bean>
   <!-- 数据源定义,利用Apache DBCP 衔接池 -->
   <bean id="dataSourceYumDays001" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value="${jdbc.driverClassName}"/>
     <property name="url" value="${jdbc.urlYumDays001}"/>
     <property name="username" value="${jdbc.username}"/>
     <property name="password" value="${jdbc.password}"/>
   </bean>

然后,还是改正这个文件,定义多个sessionFactory,它们之间只有数据源的属性差别:

<!--Hibernate SessionFatory-->
   <bean id="sessionFactoryIndex" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
     <property name="dataSource" ref="dataSourceYumDaysIndex"/>
     <property name="annotatedClasses">
       <list>
         <value>com.yumdays.model.Catalog</value>
         <value>com.yumdays.model.Statistic</value>
       </list>
     </property>
     <property name="hibernateProperties">
       <props>
        <!-- see /components/orm/hibernate/meta/dialect.properties for all Dialect -->
         <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
         <prop key="hibernate.show_sql">true</prop>
         <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
         <prop key="hibernate.cache.use_query_cache">true</prop>
       </props>
     </property>
   </bean>
   <!--Hibernate SessionFatory-->
   <bean id="sessionFactory001" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
     <property name="dataSource" ref="dataSourceYumDays001"/>
     <property name="annotatedClasses">
       <list>
       </list>
     </property>
     <property name="hibernateProperties">
       <props>
        <!-- see /components/orm/hibernate/meta/dialect.properties for all Dialect -->
         <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
         <prop key="hibernate.show_sql">true</prop>
         <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
         <prop key="hibernate.cache.use_query_cache">true</prop>
       </props>
     </property>
   </bean>


  以上是“在SpringSide 2.0中操纵多个数据库[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 在SpringSide 2.0中操纵多个数据库
  • <b>在Spring底子上实现自己的非常处理框架</b>
  • <b>在Spring 2.0中集成AspectJ</b>
  • 在SpringSide 3 中操纵JCaptcha
  • 模板情势在Spring 中的操纵
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .