<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    追隨Java
    簡單的事情重復做,就會產生累積效應!
    posts - 260,  comments - 338,  trackbacks - 0

    新的系統有可能會要用到遺留系統的數據,所以有時就會要連接兩個以上的數據庫。
    那么怎么來處理這一問題呢?
    原理:創建類似的文件(兩個數據庫就有兩個類似用spring+hibernate的配置文件)
    下面以webwork+spring+hibernate來說明。
    1)web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

        
    <display-name>shipment</display-name>

        
    <!-- Define the basename for a resource bundle for I18N -->
        
    <context-param>
            
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
            
    <param-value>messages</param-value>
        
    </context-param>
    <!--加載spring+hibernate的配置文件-->
      
        <context-param>
            
    <param-name>contextConfigLocation</param-name>
            
    <param-value>
                /WEB-INF/applicationContext*.xml
                /WEB-INF/action-servlet.xml
            
    </param-value>
        
    </context-param>
    <!-- 把webwork與spring結合起來-->
        
    <listener>
            
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        
    </listener>
        
    <listener>
            
    <listener-class>com.opensymphony.xwork.spring.SpringObjectFactoryListener</listener-class>
        
    </listener>
    <!-- 所有的請求響應的類-->
        
    <servlet>
            
    <servlet-name>action</servlet-name>
            
    <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>

      
        <servlet-mapping>
            
    <servlet-name>action</servlet-name>
            
    <url-pattern>*.html</url-pattern>
        
    </servlet-mapping>

        
    <welcome-file-list>
            
    <welcome-file>login.jsp</welcome-file>
        
    </welcome-file-list>

    </web-app>

      2) xwork.xml用來配置action
    <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" 
    "http://www.opensymphony.com/xwork/xwork-1.0.dtd"
    >

    <xwork>
          
    <!-- Include webwork defaults (from WebWork-2.1 JAR). -->
          
    <include file="webwork-default.xml"/>
          
          
    <!-- Configuration for the default package. -->
          
    <package name="default" extends="webwork-default">
            
    <interceptors>
                
    <!-- Interceptor to catch exceptions and display mapped exception result -->
                
    <interceptor name="exceptionHandler" class="exceptionInterceptor"/>
                
    <interceptor-stack name="defaultExceptionStack">
                    
    <interceptor-ref name="defaultStack"/>
                    
    <interceptor-ref name="exceptionHandler"/>
                
    </interceptor-stack>
            
    </interceptors>
            
    <!-- Default interceptor stack. --> 
            
    <default-interceptor-ref name="defaultExceptionStack"/> 
            
            
    <global-results> 
                
    <result name="dataAccessFailure">dataAccessFailure.jsp</result>
            
    </global-results> 
               
    <!--- shipment2 -->
             
     <action name = "login" class= "loginAction" method="login">
                         
    <result name="success" type ="dispatcher">shipmentv.jsp</result>
                         
    <result name="failuer" type="dispatcher">login.jsp</result>
               
    </action>
           
     </package>
    </xwork>
           3)action-servlet.xml配置action與調用DAO
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd"
    >

    <beans>
        <bean id="loginAction" class="com.legend.shipment.web.LoginAction" singleton="false">
                
    <property name="shipmentManager" ref="shipmentManager"/>
         
    </bean>

    </beans>
         4)applicationContext.xml配置事務管理 
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd"
    >

    <beans>
        
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            
    <property name="location" value="classpath:jdbc.properties"/>
        
    </bean>

        
    <!-- Transaction template for Managers, from:
             http://blog.exis.com/colin/archives/2004/07/31/concise-transaction-definitions-spring-11/ 
    -->
        
    <bean id="txProxyTemplate" abstract="true"
            class
    ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
            
    <property name="transactionManager"><ref bean="transactionManager"/></property>
            
    <property name="transactionAttributes">
                
    <props>
                    
    <prop key="save*">PROPAGATION_REQUIRED</prop>
                    
    <prop key="remove*">PROPAGATION_REQUIRED</prop>
                    
    <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
                
    </props>
            
    </property>
        
    </bean>

        
    <bean id="shipmentManager" parent="txProxyTemplate">
            
    <property name="target">
                
    <bean class="com.legend.shipment.service.impl.ShipmentManagerImpl">
                    
    <property name="shipmentDAO" ref="shipmentDAO"/>
                
    </bean>
            
    </property>
        
    </bean>
    </beans>
             5)applicationContext-hibernate.xml配置hibernate
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd"
    >

    <beans>
        
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            
    <property name="driverClassName" value="${jdbc.driverClassName}"/>
            
    <property name="url" value="${jdbc.url}"/>
            
    <property name="username" value="${jdbc.username}"/>
            
    <property name="password" value="${jdbc.password}"/>
        
    </bean>

        
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            
    <property name="dataSource" ref="dataSource"/>
            
    <property name="mappingResources">
                
    <list>
                    
    <value>com/legend/shipment/TworkCost.hbm.xml</value>
                    
    <value>com/legend/shipment/TworkConfig.hbm.xml</value>
                
    </list>
            
    </property>
            
    <property name="hibernateProperties">
                
    <props>
                    
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                    
    <prop key="hibernate.show_sql">true</prop>
                
    </props>
            
    </property>
        
    </bean>

        
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            
    <property name="sessionFactory" ref="sessionFactory"/>
        
    </bean>

        
    <bean id="shipmentDAO" class="com.legend.shipment.dao.hibernate.ShipmentDAOHibernate">
            
    <property name="sessionFactory" ref="sessionFactory"/>
        
    </bean>
    </beans>
           6)jdbc.properties數據庫連接信息
    jdbc.driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver
    jdbc.url
    =jdbc:microsoft:sqlserver://192.168.1.6:1433;DatabaseName=dg_labour;SelectMethod=cursor;
    jdbc.username=sa
    jdbc.password
    =test
      如果要連接兩個數據庫的話,那么就加多一個類似applicationContext-hibernate.xml文件,一個類似applicationContext.xml的文件,并在jdbc.properties文件中添加另一個數據庫的連接信息。當然要作小的修改。比如說:你在applicationContext-another.xml加了一個名為workManager的事務代理。你想把它添加到loginAction中去,那么就把action_server.xml文件修改成
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd"
    >

    <beans>
        
    <bean id="loginAction" class="com.legend.shipment.web.LoginAction" singleton="false">
                
    <property name="shipmentManager" ref="shipmentManager"/>
        <property name="workManager" ref="workManager"/>   
         
    </bean>

    </beans>
    在java程序中就可以通過setWorkManager()方法自己設置了,也就可以在LoginAction類中引用了。
    可能說的不夠詳細,但提供了一個思路。
    posted on 2005-09-08 16:10 Harryson 閱讀(5311) 評論(0)  編輯  收藏 所屬分類: Hibernate 、Spring

    <2005年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(10)

    隨筆分類(319)

    AJAX

    Coffee House

    CSS

    Java

    JavaScript

    Open Source

    ProjectManagement

    友情Blog

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91精品国产免费| 又粗又硬又黄又爽的免费视频 | 怡红院免费的全部视频| 亚洲免费视频播放| 亚洲日韩一页精品发布| 国产偷国产偷亚洲高清人| 99久久免费观看| 亚洲精品少妇30p| 一级一级一片免费高清| 亚洲国产成人久久综合区| 中文字幕无码亚洲欧洲日韩| 97免费人妻在线视频| 国产亚洲一卡2卡3卡4卡新区| 日韩一区二区a片免费观看 | 67pao强力打造国产免费| 久久亚洲精品中文字幕无码| 成人国产网站v片免费观看| 国产中文字幕免费观看| 怡红院亚洲红怡院在线观看| 亚洲成a人片77777老司机| 国产精品色午夜视频免费看| 亚洲欧美成人综合久久久| 免费a级毛片无码a∨蜜芽试看| 亚州**色毛片免费观看| 亚洲一区电影在线观看| 午夜性色一区二区三区免费不卡视频| 久久精品九九亚洲精品| 午夜免费福利小电影| 亚洲一区二区中文| 亚洲人成人网站在线观看| 两个人的视频www免费| 亚洲AV无码一区二区二三区软件| 国产精品网站在线观看免费传媒| 亚洲爱情岛论坛永久| 亚洲伊人成无码综合网| 久久久久免费看黄a级试看| 边摸边吃奶边做爽免费视频网站| 日本红怡院亚洲红怡院最新| 中文字幕乱码免费视频| 精品国产亚洲第一区二区三区| 亚洲妓女综合网99|