隨筆-86  評論-767  文章-3  trackbacks-3

          Liferay Portal 系列文章—Portal數(shù)據(jù)持久

           

          文檔說明

           

          參與人員:

           

          作者

          網(wǎng)名

          聯(lián)絡(luò)

          柯自聰

          eamoi   educhina

          eamoi@163.com(技術(shù)) zcke0728@hotmail.com(版權(quán))

           

           

           

           

          發(fā)布記錄:

           

          版本

          日期

          作者

          說明

          1.0

          2005-10-25

          柯自聰

          創(chuàng)建,第一版

           

           

           

           

           

          鏈接:

           

          類別

          網(wǎng)址

          Blog

          http://www.aygfsteel.com/eamoi/

          MSN-Space

          http://spaces.msn.com/members/eamoi/

           

           

          OpenDoc版權(quán)說明:

          本文檔版權(quán)歸原作者所有。

          在免費(fèi)、且無任何附加條件的前提下,可在網(wǎng)絡(luò)媒體中自由傳播。

          如需部分或者全文引用,請事先征求作者意見。

          如果本文對您有些許幫助,表達(dá)謝意的最好方式,是將您發(fā)現(xiàn)的問題和文檔改進(jìn)意見及時反饋給作者。當(dāng)然,倘若有時間和能力,能為技術(shù)群體無償貢獻(xiàn)自己的所學(xué)為最好的回饋。

           


           

          Liferay Portal 系列文章—Portal數(shù)據(jù)持久.......................................................................... 1

          一、HSQL數(shù)據(jù)庫....................................................................................................... 3

          1.1 HSQL簡介.................................................................................................... 3

          1.2 HSQL的特性................................................................................................ 4

          1.3 使用HSQL的軟件......................................................................................... 5

          1.4 學(xué)些HSQL的資源......................................................................................... 5

          二、定制Portal數(shù)據(jù)源(針對Ent版本)................................................................ 5

           


           

          Liferay Portal支持個性化桌面定制,用戶可以隨時定制和修改自己的桌面,添加、刪除和修改桌面上的Portlet。這些定制信息都隨時被持久化到數(shù)據(jù)庫中。如果留心一下,可以在{PORTAL_HOME}\conf\Catalina\localhost\ liferay.xml 找到Liferay Portal使用的連接池。

                 LiferayPool.jpg
              {PORTAL_HOME} \common\lib\ext 目錄下,能夠找到一個hsql.jar,這個就是數(shù)據(jù)庫引擎包。

          默認(rèn)的,Liferay Portal集成HSQL數(shù)據(jù)庫作為持久化數(shù)據(jù)庫,所有的定制信息都能夠隨時添加到HSQL數(shù)據(jù)庫中,以相應(yīng)用戶的定制。用戶可以根據(jù)需要修改連接池配置,選擇自己方便合適的數(shù)據(jù)庫。

          一、HSQL數(shù)據(jù)庫

          HSQL是一個完全用Java編寫的輕量級數(shù)據(jù)庫。在本文寫作的時候,HSQL 1.8.0已經(jīng)正式發(fā)布。相比1.7.2版本,一年多的研發(fā)投入,使得HSQL的引擎更強(qiáng)大,SQL性能更好,支持最多8GB的數(shù)據(jù)量。

          1.1 HSQL簡介

          HSQL數(shù)據(jù)庫是一個完全使用Java編寫得領(lǐng)先的關(guān)系數(shù)據(jù)庫引擎。它集成了JDBC驅(qū)動,支持ANSI-92-SQL以及SQL992003,提供了一個精練的(小于100KApplet形式)、快速的數(shù)據(jù)庫引擎,支持內(nèi)存和磁盤表結(jié)構(gòu),支持集成和服務(wù)器模式。另外的,它包含了小型的web 服務(wù)器,基于內(nèi)存的查詢和管理工具(作為Applet運(yùn)行),以及一系列的范例。

          現(xiàn)在,HSQL已經(jīng)被很多開源項(xiàng)目和商業(yè)產(chǎn)品用作數(shù)據(jù)庫和持久化引擎。它的精練、能夠完全在內(nèi)存中運(yùn)行的能力、彈性和速度為大家所稱道。

          1.2 HSQL的特性

          • 100% Java 編寫
          • 完全的關(guān)系數(shù)據(jù)庫,支持Java對象
          • 支持JDK1.1.x1.2.x1.3.x1.4.x以及更高版本
          • 快速啟動,支持selectinsertdeleteupdate操作
          • 支持標(biāo)準(zhǔn)SQL語法
          • 支持內(nèi)連接和外連接,交叉查詢
          • 支持分級查詢,包括INEXISTSANYALL等關(guān)聯(lián)查詢
          • 支持視圖、臨時表和序列
          • 支持單列或者多列的主鍵,唯一和確認(rèn)約束
          • 支持單列或者多列的索引
          • 支持ORDER BYGROUP BY HAVING語法
          • 支持COUNTSUMMINMAXAVG和其他統(tǒng)計功能(表達(dá)式或者函數(shù))
          • 完全支持諸如CASE…WHEN…ELSE…NULL…IF等的SQL表達(dá)式
          • 支持SQL標(biāo)準(zhǔn)的自動增長列和序列
          • 支持COMMITROLLBACKSAVEPOINT事務(wù)
          • 支持刪除、更新、清空和默認(rèn)操作的數(shù)據(jù)一致性(外鍵)
          • 每個庫擁有多個schemata
          • Java保存過程和函數(shù)
          • 觸發(fā)器
          • 支持密碼、GRANTREVOKE的用戶權(quán)限和角色,確保數(shù)據(jù)庫安全
          • 擴(kuò)展ALTER TABLE命令,允許更改列類型
          • 內(nèi)存表,以便快速操作
          • 磁盤表,以便支持大量數(shù)據(jù)
          • 擴(kuò)展的諸如CSV文件的文本表
          • 內(nèi)存(比如Applet)、集成(比如加入Java應(yīng)用)和C/S操作模式
          • 三種客戶端連接模式:HSQLHTTPHSQL-BER,可以采用SSL協(xié)議作為HTTP web服務(wù)器運(yùn)行。
          • 可以在Applet、只讀media、集成jarwebstart和集成應(yīng)用中使用
          • 每個虛擬機(jī)多個實(shí)例
          • 磁盤表可以達(dá)到8GB,文本表可以達(dá)到2GB
          • 每個字符和二進(jìn)制數(shù)據(jù)的長度取決于內(nèi)存
          • 完全支持PreparedStatement對象以加速查詢過程
          • 支持95%以上的JDBC接口,包括批量抓取和可回滾的ResuletSet
          • 支持所有JDBC數(shù)據(jù)類型,包括ObjectBooleanBlobClob
          • 完全支持DatabaseMetaDataResultSetMetaData
          • 帶或者不帶數(shù)據(jù)的SQL腳本垃圾收集
          • 強(qiáng)大的基于Java命令和GUI數(shù)據(jù)庫管理工具

          1.3 使用HSQL的軟件

          開源軟件:

          Open Office 2.0

          JBoss

          JFox

          Jonas

          Hibernate

          ObJectRelationalBridge – OJB

          Mr. Persister ORM

          CJDBC

          商業(yè)軟件:

          Mathematica

          Jira

          TrackStudio

           

          1.4 學(xué)些HSQL的資源

          官方網(wǎng)站:http://www.hsqldb.org/

          Sourceforge的官方頁面:http://sourceforge.net/projects/hsqldb

          下載地址:http://sourceforge.net/project/showfiles.php?group_id=23316

          一個簡單的操作例子:http://blog.csdn.net/whoopee/archive/2005/09/06/472441.aspx

           

          二、定制Portal數(shù)據(jù)源(針對Ent版本)

          Liferay Portal Ent沒有特別依賴于某種數(shù)據(jù)庫。為實(shí)現(xiàn)這個目標(biāo),所有的業(yè)務(wù)邏輯都被集中在中間層,而且跟數(shù)據(jù)庫低耦合。這意味著Portal不依賴于特定數(shù)據(jù)庫的存儲過程或者生成關(guān)鍵字。

          假設(shè)已經(jīng)將Portal Ent版本的源碼下載到{PORTAL_SRC_HOME}目錄廈,要運(yùn)行創(chuàng)建庫和插入數(shù)據(jù)的腳本,命令行下轉(zhuǎn)到{PORTAL_SRC_HOME}\portal-ejb 目錄,運(yùn)行Ant命令:ant build-db。這個命令會為DB2FirebirdHypersonicInterbaseJdataStoreMySQLOraclePostgreSQLSQL Server運(yùn)行腳本。

          所運(yùn)行的SQL腳本在{PORTAL_SRC_HOME}\sql\portal目錄下,命名為portal-db2.sqlportal-firebird.sqlportal-hypersonic.sqlportal-interbase.sqlportal-jdatastore.sqlportal-mysql.sqlportal-oracle.sqlportal-postgrresql.sqlportal-sql-server.sql。可以從這里下載包含上述sql文件的zip壓縮包。

          http://prdownloads.sourceforge.net/lportal/liferay-portal-ent-3.6.0-sql.zip

          庫表創(chuàng)建完成之后,就可以修改{PORTAL_HOME}\conf\Catalina\localhost\ liferay.xml,把連接池改為相應(yīng)的數(shù)據(jù)庫。具體的例子可以參照documenttation

          http://localhost/web/guest/documentation/development/databases

           

          posted on 2005-10-25 16:33 eamoi 閱讀(8007) 評論(5)  編輯  收藏 所屬分類: Java

          評論:
          # re: 【原創(chuàng)】Liferay Portal 系列文章—Portal數(shù)據(jù)持久 2005-10-28 12:02 | hch
          最近想用portal,那否做一下Liferay Portal 、Stringbeans Portal和Jboss Portal的比較呢?  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal 系列文章—Portal數(shù)據(jù)持久 2008-01-11 13:07 | 新開傳世私服
          歡迎來到新開傳世私服這里的有傳世私服一條龍為您服務(wù)魔獸私服也會帶給您不一樣的驚喜  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal 系列文章—Portal數(shù)據(jù)持久 2008-01-11 13:08 | 傳世私服一條龍
          歡迎來到新開傳世私服  回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal 系列文章—Portal數(shù)據(jù)持久 2010-05-05 16:25 | lyn
          Liferay 中國唯一合作伙伴--遨豪(大連)科技有限公司
          目前公司主要業(yè)務(wù)為:
          1,Liferay技術(shù)支持
          2, Liferay 培訓(xùn)
          3,Liferay企業(yè)版

          聯(lián)系人:LYN
          email : jiajia6f@163.com
          QQ:1209462980
            回復(fù)  更多評論
            
          # re: 【原創(chuàng)】Liferay Portal 系列文章—Portal數(shù)據(jù)持久 2010-05-05 16:26 | lyn

          Liferay 中國唯一合作伙伴--遨豪(大連)科技有限公司
          目前公司主要業(yè)務(wù)為:
          1,Liferay技術(shù)支持
          2, Liferay 培訓(xùn)
          3,Liferay企業(yè)版

          聯(lián)系人:LYN
          email : jiajia6f@163.com
          QQ:1209462980
            回復(fù)  更多評論
            
          主站蜘蛛池模板: 岱山县| 营口市| 河北区| 曲水县| 左权县| 苍溪县| 肥东县| 永登县| 夏津县| 营山县| 盐城市| 金沙县| 故城县| 汝城县| 资中县| 曲靖市| 清涧县| 界首市| 云阳县| 军事| 湖北省| 宁陵县| 封开县| 阳谷县| 怀仁县| 白玉县| 武汉市| 井陉县| 成都市| 阜新市| 咸宁市| 平舆县| 北京市| 红原县| 灵石县| 卢氏县| 铜川市| 图们市| 海口市| 安塞县| 哈巴河县|