<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)論排行榜

    主站蜘蛛池模板: 一级**爱片免费视频| 亚洲一级毛片免费看| 国产亚洲视频在线观看| 亚洲精品成人久久| 亚洲无码一区二区三区| 1000部夫妻午夜免费| 亚洲高清资源在线观看| 亚洲av无码成人影院一区| 麻豆国产精品入口免费观看| 亚洲影院天堂中文av色| 最好免费观看韩国+日本| 亚洲欧美国产欧美色欲| 日韩视频在线观看免费| 国产成人A人亚洲精品无码| 国产午夜免费高清久久影院| 亚洲AV无码成人精品区天堂| 高潮毛片无遮挡高清免费| 国产一区二区三区在线观看免费| 老司机亚洲精品影院无码| 美女被免费视频网站a| 亚洲国产精品碰碰| baoyu116.永久免费视频| 亚洲宅男永久在线| 黄色网址免费大全| 亚洲爆乳精品无码一区二区三区| 国精产品一区一区三区免费视频 | 久久精品一区二区免费看| 亚洲av无码国产精品夜色午夜| 4虎1515hh永久免费| 亚洲人片在线观看天堂无码| 免费在线观看中文字幕| 男人都懂www深夜免费网站| 亚洲国产成人久久综合一区| 国产精品酒店视频免费看| 中文字幕免费在线观看动作大片| 久久精品国产亚洲AV麻豆不卡 | 亚洲一区精品中文字幕| 成人片黄网站A毛片免费| 高清免费久久午夜精品| 18亚洲男同志videos网站| 国产免费观看黄AV片|