五、portal的数据库
首先应该说明的是Liferay Portal有自己默认使用的数据库,运行过前面测试环境搭建的例子的同学应该会纳闷一件事:没有配置数据库,怎么会有登陆等界面呢?数据库层又是利用什么数据源呢?
刚开始我也被这个问题困扰过,经过查找资料,我发现Liferay Portal 太给力了,为了方便,使用HSQL,在内存中创建数据库,其实从服务器的启动信息也可见一斑,见下图:
大家可能没听说过这个数据库,我刚开始的时候也没听说过这个。如果有兴趣可以参见以下链接地址:
HSQL的官方网站:
http://hsqldb.org/
也有中文的比较简略的介绍参见lupa中文社区:
http://www.lupaworld.com/proj-cont-id-121943.html
HSQL有两种数据库模式,一种是使用数据库文件存储在硬盘上,另一种是一种在内存中的数据库,使用起来更加的迅速。这样就能比较好的理解它了。
接下来就是一个比较头疼的问题了,本身使用的是HSQL,如果我这个项目不是用HSQL,那么这个数据源信息要怎么配置呢?
解决这个问题其实让我困扰了很久,因为我实在是找不到它数据源配置文件的位置,为什么呢?因为它藏的位置实在是太阴霸了…
liferay portal的系统默认配置文件在:
<portal_home>\tomcat6.0.x\webapps\ROOT\WEB-IINF\lib\portal-impl.jar
中的portal.properties中(擦,把配置文件隐藏在jar文件中,这货谁找得到啊。。。)
在这个配置文件中,有这样的配置信息:
include-and-override=portal-ext.properties
include-and-override=${liferay.home}/portal-ext.properties
看到上面的这两句话相信,大家就明白了,通过编写 portal-ext.properties 文件可以对原来这个portal.properties中的信息进行覆盖,从而进行配置。数据库配置信息当然也在其中。
要更改数据源,我建议的做法是首先在这个portal.properties查找jdbc,找到要使用的数据库的相应信息,比如我们要使用的是mysql,为什么要使用mysql作范例呢?因为我电脑上只有mysql。
首先来看配置文件情况,由于此配置文件有点长,我们就节取了我需要的部分:
# MySQL
#
#jdbc.default.driverClassName=com.mysql.jdbc.Driver
#jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
#jdbc.default.username=
#jdbc.default.password=
可以从url看出一些信息,首先localhost指向的是本机数据库,然后数据库的名称是lportal。有了以上的认识,我们接下来的工作就是在我们本机的mysql上新建数据库,名称是lportal。使用mysql命令行或界面化工具,创建数据库。
下面在IDE中新建一个项目,命名只要自己能记住就可以了。注意红色框中的选项:
注意选择ext,通过ext的模式,可以将原来portal的属性进行覆盖,原来portal的属性是不允许更改的,在上面的portal.properties文件中,这就是portal模式。
直接点击finish,我们就有了一个potal的扩展,看一下扩展的目录结构:
在红色框中标出的是用来扩展portal.properties的,可以将portal.properties中被注释的属性进行覆盖。这里我们使用这个将我们的数据库重定向到mysql。
好了,网上很多人提供的代码都有问题,我的办法是:先要到portal.properties中的查找jdbc,并将你要使用的数据库类型的代码段复制下来,粘贴到portal-ext.properties中,并将除了MySQL以外的每句信息前面的#号去掉,在用户名和密码处填入自己mysql的配置。
完成之后,只要将这个ext工程add进server的runtime中。
点击完成,start liferay server.
然后运行这个ext工程,看输出的日志:
看到红框中的内容了吗?很高兴,有木有?成功迁移数据库到MySql中去了。运行后用命令行查看MySql中的内容:
看到一个个表了,这说明我们的数据迁移已经成功了,为什么运行这些项目就会有数据写入数据库呢?刚开始的时候,我也是很纳闷,这个玩意儿是肿么弄的?但是看了下面的内容我觉得我开始理解了……
分享到:
相关推荐
### Liferay Portal 开发指南知识点概述 #### 一、简介 **Liferay Portal** 是一款功能强大的企业级门户平台,支持多种应用集成和技术扩展。它不仅提供了丰富的特性满足企业日常需求,同时也支持高度定制化开发。...
### Liferay Portal 性能分析 #### 执行摘要 Liferay Portal 被 Gartner 命名为领导者,在 Gartner 魔力象限 (MQ) 中因其功能完整性和投资回报率而受到认可,它是领先的开源企业门户解决方案。Liferay Portal 企业...
- **环境变量设置**:确保正确配置相关环境变量以便顺利运行Liferay。 ##### 2. 构建门户应用 - **理解Liferay架构**:介绍Liferay Portal的核心架构以及关键组件的作用。 - **开发Portlet**:Portlet是Liferay应用...
此外,Liferay 与第三方内容管理系统如Alfresco、Documentum等也有良好的集成,扩大了内容管理的范围。 **社区构建** Liferay 社区功能强大,它鼓励用户之间的互动,包括论坛讨论、博客、社交网络、活动日历等。...
Liferay Portal 6.1 源码导入到 Eclipse 需要下载 Liferay Portal 源码、Liferay IDE、JDK 和 Ant,安装并配置相关环境变量。然后,新建文件夹 D:\liferay,解压缩 Liferay IDE 和 Plugin SDK,配置 Eclipse 和 ...
#### 三、总结 通过对以上表格的分析可以看出,Liferay Portal的数据库设计非常精细,涵盖了企业信息管理的多个方面,包括公司账户管理、地址信息、日志管理以及书签管理等功能。通过这些表的设计,我们可以了解到...
总结而言,Liferay Portal 模板开发涉及到前端设计、后台配置等多个方面,开发者需要具备一定的 HTML、CSS、JavaScript 基础知识,并熟悉 Liferay 的工作原理和配置方法。通过上述步骤,可以实现对 Liferay Portal ...
总结来说,Liferay Portal的权限管理是一个多层次、灵活的系统,它通过企业管理、组织管理、地区管理、用户组管理和Portlet管理等多个维度,确保了企业资源的安全性和访问控制的精确性。通过对角色的定义和分配,...
总结,Liferay Portal的开发涉及众多方面,从portlet开发到工作流设计,再到安全权限管理,都需要开发者具备扎实的Java基础和良好的问题解决能力。通过学习和实践,开发者可以充分利用Liferay的特性,为企业构建出...
其中,“社区”(Community)是Liferay Portal 的核心概念之一,用于组织用户并管理与这些用户相关的权限和内容。 **社区(Community)** 是指由具有共同兴趣或爱好的用户组成的一个集合。在 Liferay 中,用户可以...
它包含了Liferay Portal和集成的Tomcat服务器。 - **Liferay Portal Source**: 可选资源,下载地址为[liferay-portal-src-6.2-ce-ga6]...
以下是对这8本Liferay经典书籍的知识点总结,旨在帮助读者深入理解并掌握Liferay的核心技术和应用场景。 1. 《Liferay Portal 7.x Development》 这本书详细介绍了Liferay Portal 7.x的开发过程,涵盖了portlet开发...
#### 三、Portal概念 - **什么是门户?** - 门户是一种集中管理和展示信息的平台,可以整合多种应用和服务,并通过统一的界面提供给最终用户。 - **关键业务优势**: - 提供直观且协作的工作体验。 - 通过单一...
根据提供的信息,我们可以总结出以下关于“Liferay Portal 4.0 QuickStart Guide”的关键知识点: ### Liferay Portal 4.0 QuickStart Guide #### 一、简介 本快速入门指南旨在帮助那些新接触 Liferay Portal 或...
该资料是本人学习liferay的总结报告, 使用的是5.1.1和5.2.2版本,总结了网上和书中的一些有用信息,并且加入个人对于该技术的一些理解. (绝对原创教程,但主要面向开发者,而不是管理员哈.) 欢迎各位一起交流liferay-...
Liferay Portlet SDK 5.2.3是该系列的一个特定版本,专为Liferay Portal 5.2.3版本设计,它包含了开发portlet所需的类库、文档和示例代码,使得开发者能够高效地集成自定义功能到Liferay Portal环境中。 **portlet...