随笔-86  评论-767  文章-3  trackbacks-3

Liferay Portal 系列文章—Portal数据持久

 

文档说明

 

参与人员:

 

作者

网名

联络

柯自聪

eamoi   educhina

eamoi@163.com(技术) zcke0728@hotmail.com(版权)

 

 

 

 

发布记录:

 

版本

日期

作者

说明

1.0

2005-10-25

柯自聪

创建,第一版

 

 

 

 

 

链接:

 

类别

网址

Blog

http://www.blogjava.net/eamoi/

MSN-Space

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

 

 

OpenDoc版权说明:

本文档版权归原作者所有。

在免费、且无任何附加条件的前提下,可在网络媒体中自由传播。

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

如果本文对您有些许帮助,表达谢意的最好方式,是将您发现的问题和文档改进意见及时反馈给作者。当然,倘若有时间和能力,能为技术群体无偿贡献自己的所学为最好的回馈。

 


 

Liferay Portal 系列文章—Portal数据持久.......................................................................... 1

一、HSQL数据库....................................................................................................... 3

1.1 HSQL简介.................................................................................................... 3

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

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

1.4 学些HSQL的资源......................................................................................... 5

二、定制Portal数据源(针对Ent版本)................................................................ 5

 


 

Liferay Portal支持个性化桌面定制,用户可以随时定制和修改自己的桌面,添加、删除和修改桌面上的Portlet。这些定制信息都随时被持久化到数据库中。如果留心一下,可以在{PORTAL_HOME}\conf\Catalina\localhost\ liferay.xml 找到Liferay Portal使用的连接池。

       LiferayPool.jpg
    {PORTAL_HOME} \common\lib\ext 目录下,能够找到一个hsql.jar,这个就是数据库引擎包。

默认的,Liferay Portal集成HSQL数据库作为持久化数据库,所有的定制信息都能够随时添加到HSQL数据库中,以相应用户的定制。用户可以根据需要修改连接池配置,选择自己方便合适的数据库。

一、HSQL数据库

HSQL是一个完全用Java编写的轻量级数据库。在本文写作的时候,HSQL 1.8.0已经正式发布。相比1.7.2版本,一年多的研发投入,使得HSQL的引擎更强大,SQL性能更好,支持最多8GB的数据量。

1.1 HSQL简介

HSQL数据库是一个完全使用Java编写得领先的关系数据库引擎。它集成了JDBC驱动,支持ANSI-92-SQL以及SQL992003,提供了一个精练的(小于100KApplet形式)、快速的数据库引擎,支持内存和磁盘表结构,支持集成和服务器模式。另外的,它包含了小型的web 服务器,基于内存的查询和管理工具(作为Applet运行),以及一系列的范例。

现在,HSQL已经被很多开源项目和商业产品用作数据库和持久化引擎。它的精练、能够完全在内存中运行的能力、弹性和速度为大家所称道。

1.2 HSQL的特性

  • 100% Java 编写
  • 完全的关系数据库,支持Java对象
  • 支持JDK1.1.x1.2.x1.3.x1.4.x以及更高版本
  • 快速启动,支持selectinsertdeleteupdate操作
  • 支持标准SQL语法
  • 支持内连接和外连接,交叉查询
  • 支持分级查询,包括INEXISTSANYALL等关联查询
  • 支持视图、临时表和序列
  • 支持单列或者多列的主键,唯一和确认约束
  • 支持单列或者多列的索引
  • 支持ORDER BYGROUP BY HAVING语法
  • 支持COUNTSUMMINMAXAVG和其他统计功能(表达式或者函数)
  • 完全支持诸如CASE…WHEN…ELSE…NULL…IF等的SQL表达式
  • 支持SQL标准的自动增长列和序列
  • 支持COMMITROLLBACKSAVEPOINT事务
  • 支持删除、更新、清空和默认操作的数据一致性(外键)
  • 每个库拥有多个schemata
  • Java保存过程和函数
  • 触发器
  • 支持密码、GRANTREVOKE的用户权限和角色,确保数据库安全
  • 扩展ALTER TABLE命令,允许更改列类型
  • 内存表,以便快速操作
  • 磁盘表,以便支持大量数据
  • 扩展的诸如CSV文件的文本表
  • 内存(比如Applet)、集成(比如加入Java应用)和C/S操作模式
  • 三种客户端连接模式:HSQLHTTPHSQL-BER,可以采用SSL协议作为HTTP web服务器运行。
  • 可以在Applet、只读media、集成jarwebstart和集成应用中使用
  • 每个虚拟机多个实例
  • 磁盘表可以达到8GB,文本表可以达到2GB
  • 每个字符和二进制数据的长度取决于内存
  • 完全支持PreparedStatement对象以加速查询过程
  • 支持95%以上的JDBC接口,包括批量抓取和可回滚的ResuletSet
  • 支持所有JDBC数据类型,包括ObjectBooleanBlobClob
  • 完全支持DatabaseMetaDataResultSetMetaData
  • 带或者不带数据的SQL脚本垃圾收集
  • 强大的基于Java命令和GUI数据库管理工具

1.3 使用HSQL的软件

开源软件:

Open Office 2.0

JBoss

JFox

Jonas

Hibernate

ObJectRelationalBridge – OJB

Mr. Persister ORM

CJDBC

商业软件:

Mathematica

Jira

TrackStudio

 

1.4 学些HSQL的资源

官方网站: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数据源(针对Ent版本)

Liferay Portal Ent没有特别依赖于某种数据库。为实现这个目标,所有的业务逻辑都被集中在中间层,而且跟数据库低耦合。这意味着Portal不依赖于特定数据库的存储过程或者生成关键字。

假设已经将Portal Ent版本的源码下载到{PORTAL_SRC_HOME}目录厦,要运行创建库和插入数据的脚本,命令行下转到{PORTAL_SRC_HOME}\portal-ejb 目录,运行Ant命令:ant build-db。这个命令会为DB2FirebirdHypersonicInterbaseJdataStoreMySQLOraclePostgreSQLSQL Server运行脚本。

所运行的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

库表创建完成之后,就可以修改{PORTAL_HOME}\conf\Catalina\localhost\ liferay.xml,把连接池改为相应的数据库。具体的例子可以参照documenttation

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

 

posted on 2005-10-25 16:33 eamoi 阅读(7984) 评论(5)  编辑  收藏 所属分类: Java

评论:
# re: 【原创】Liferay Portal 系列文章—Portal数据持久 2005-10-28 12:02 | hch
最近想用portal,那否做一下Liferay Portal 、Stringbeans Portal和Jboss Portal的比较呢?  回复  更多评论
  
# re: 【原创】Liferay Portal 系列文章—Portal数据持久 2008-01-11 13:07 | 新开传世私服
欢迎来到新开传世私服这里的有传世私服一条龙为您服务魔兽私服也会带给您不一样的惊喜  回复  更多评论
  
# re: 【原创】Liferay Portal 系列文章—Portal数据持久 2008-01-11 13:08 | 传世私服一条龙
欢迎来到新开传世私服  回复  更多评论
  
# re: 【原创】Liferay Portal 系列文章—Portal数据持久 2010-05-05 16:25 | lyn
Liferay 中国唯一合作伙伴--遨豪(大连)科技有限公司
目前公司主要业务为:
1,Liferay技术支持
2, Liferay 培训
3,Liferay企业版

联系人:LYN
email : jiajia6f@163.com
QQ:1209462980
  回复  更多评论
  
# re: 【原创】Liferay Portal 系列文章—Portal数据持久 2010-05-05 16:26 | lyn

Liferay 中国唯一合作伙伴--遨豪(大连)科技有限公司
目前公司主要业务为:
1,Liferay技术支持
2, Liferay 培训
3,Liferay企业版

联系人:LYN
email : jiajia6f@163.com
QQ:1209462980
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: