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

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

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

    Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù))

    同時(shí)連接兩個(gè)數(shù)據(jù)庫(kù),連接多個(gè)數(shù)據(jù)庫(kù)

    這是我自己研究出來(lái)的,真的可以說(shuō)是世界首發(fā)了,網(wǎng)上也有一些例子,都要么就是老版本,要么就特復(fù)雜。我的這個(gè)方法特簡(jiǎn)單,希望對(duì)大家有用,也希望大家珍惜

    因?yàn)楣镜男枰苯訉懙挠⑽陌娴模幌朐俜g回來(lái)了。都不難理解,一看就能明白。不懂的請(qǐng)留言

    Introduction

                    First of all, I should say that setting liferay to connect to another database is very easy. Certainty, all of things to make easy always after numerous attempts . I searched several solutions from website before. But, not only for old version but also too complex.  As my understand  According to original source, and several trial. I found the way. And I think that it is the World Premiere.^_^

     

    Prerequisites

    You should know how to create services with Service Builder, Also You should know how to create new portlet. how to link to database and  how it is used inside programming language code.

    The steps described here were performed over Liferay 6.0.6.

     

     

    Let us Beginning

    1.       Create a file named portal-ext.properties in {WEBSERVER-HOME}\webapps\ROOT\WEB-INF\classes. And type the following code:

        #
        # MySQL
        #
        jdbc.default.driverClassName
    =com.mysql.jdbc.Driver
        jdbc.default.url
    =jdbc:mysql://localhost/lfportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
        jdbc.default.username
    =root
        jdbc.default.password
    =root  
      
        #
        # This is the second connection
        #
        jdbc.second.driverClassName
    =net.sourceforge.jtds.jdbc.Driver
        jdbc.second.url
    =jdbc:jtds:sqlserver://localhost:1433/extraDB
        jdbc.second.username
    =sa
        jdbc.second.password
    =test

     

    2.       Create a service.xml file. And type the following code:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
    <service-builder package-path="com.test">
        
    <author>noah.xiang</author>
        
    <namespace>nx</namespace>

        
    <entity name="MyTable" local-service="true" remote-service="false" table="myTable" data-source="secondDataSource" session-factory="secondSessionFactory" tx-manager="secondTransactionManager">
            
    <!-- PK fields -->

            
    <column name="id" type="int" primary="true" />

            
    <!-- Audit fields -->

            
    <column name="jahr" type="Date" mapping-key="[Jahr]"/>
            
    <column name="beschaffungsstrategie" type="String"  mapping-key="[Beschaffungsstrategie]"/>
            
    <column name="buchVon" type="String" mapping-key="[Buch von]"/>
            
        
    </entity>
    </service-builder>

     

    3.       Ant build-service.xml, let liferay to generate code.

    4.       Create a new file named ext-spring.xml in src\META-INF folder. And copy the following code:

     

    <?xml version="1.0"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
        
    <bean id="secondDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy" lazy-init="true">
            
    <property name="targetDataSource">
                
    <bean class="com.liferay.portal.dao.jdbc.util.DataSourceFactoryBean">
                    
    <property name="propertyPrefix" value="jdbc.second." />
                
    </bean>
            
    </property>
        
    </bean>
        
    <bean id="secondHibernateSessionFactory" class="com.liferay.portal.spring.hibernate.PortalHibernateConfiguration" lazy-init="true">
            
    <property name="dataSource">
                
    <ref bean="secondDataSource" />
            
    </property>
            
    <property name="mappingResources">
                
    <list>
                    
    <value>META-INF/portlet-hbm.xml</value>
                
    </list>
            
    </property>
        
    </bean>
        
    <bean id="secondSessionFactory" class="com.liferay.portal.dao.orm.hibernate.SessionFactoryImpl" lazy-init="true">
            
    <property name="sessionFactoryImplementor">
                
    <ref bean="secondHibernateSessionFactory" />
            
    </property>
        
    </bean>
        
    <bean id="secondTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" lazy-init="true">
            
    <property name="dataSource">
                
    <ref bean="secondDataSource" />
            
    </property>
            
    <property name="sessionFactory">
                
    <ref bean="secondHibernateSessionFactory" />
            
    </property>
        
    </bean>
    </beans>

     

    5.       No more. So easy right? About how to call and deploy it. I believe that you can do.

     



    眼鏡蛇

    posted on 2011-10-27 17:56 眼鏡蛇 閱讀(1434) 評(píng)論(6)  編輯  收藏 所屬分類: Liferay

    評(píng)論

    # re: Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù)) 2012-03-01 14:31 彭維

    234148464 qq求助!實(shí)在是運(yùn)行不通。。。  回復(fù)  更多評(píng)論   

    # re: Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù)) 2012-03-02 12:24 Noah

    哪里不通  回復(fù)  更多評(píng)論   

    # re: Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù)) 2012-03-05 10:45 彭維

    研究了一天,完全讓你的做的,不過(guò)板本是6.1,行不通,求大神賜教。。。I need your help,service builder的時(shí)候不能夠生成表,跟本連不到另一個(gè)數(shù)據(jù)源上面去。。  回復(fù)  更多評(píng)論   

    # re: Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù)) 2012-03-05 10:51 彭維

    I am so sad! for a long time ,just bcz of this porblem.....,  回復(fù)  更多評(píng)論   

    # re: Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù)) 2012-03-20 21:50 Noah

    @彭維
    如果是6.1的話,需要修改 com.liferay.portal.spring.hibernate.PortalHibernateConfiguration

    com.liferay.portal.spring.hibernate.PortletHibernateConfiguration  回復(fù)  更多評(píng)論   

    # re: Connect to second database in Liferay(連接第二個(gè)數(shù)據(jù)庫(kù))[未登錄](méi) 2013-01-30 18:08 Owen

    跨兩個(gè)db要怎樣做transaction

    按照你這樣的寫法,如果拋出exception,只會(huì)有其中一個(gè)DB ROLLBACK,另一個(gè)db不會(huì)rollback,有什麼好解法嗎?

    jta or jotm,這兩個(gè)還要研究看看怎樣用在liferay上面  回復(fù)  更多評(píng)論   

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 一二三区免费视频| 亚洲国产精品成人午夜在线观看 | 亚洲国产精品午夜电影| 精品国产污污免费网站| 亚洲人成人一区二区三区| 中文字幕无码毛片免费看| 黑人精品videos亚洲人| 久久er国产精品免费观看2| 亚洲av无码国产精品色午夜字幕 | 日韩一品在线播放视频一品免费| 亚洲乱亚洲乱妇24p| 国产成人免费a在线视频色戒| 国产精品亚洲综合一区在线观看| 亚洲第一视频在线观看免费| 2022国内精品免费福利视频| 亚洲国产精品无码久久一区二区| 99re视频精品全部免费| 亚洲一区在线观看视频| 国产男女猛烈无遮挡免费视频| 边摸边脱吃奶边高潮视频免费| 超清首页国产亚洲丝袜| 亚洲免费视频在线观看| 亚洲精品二三区伊人久久| 日韩免费一区二区三区| 国产精品成人免费观看| 亚洲精品自拍视频| 性感美女视频在线观看免费精品 | 亚洲天天做日日做天天欢毛片| 国产人成免费视频网站| 亚洲AV成人无码网天堂| 亚洲真人无码永久在线| 免费成人福利视频| 精品一区二区三区无码免费直播| 亚洲人成无码久久电影网站| 精品无码无人网站免费视频 | 亚洲欧洲日韩极速播放| 亚洲第一黄片大全| 日日麻批免费40分钟日本的| 一级做a爰片久久毛片免费陪 | 亚洲AV成人精品日韩一区| 亚洲欧洲日产国码无码久久99|