一、软件环境准备
1、Liferay运行环境:
下载liferay-ce-portal-tomcat-7.1.0-ga1-20180703012531655.zip
下载地址: https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.1.0%20GA1/
2、Liferay在Eclipse上的运行插件
下载liferay-ide-updatesite-3.3.0-ga1-201808240530.zip
下载地址: https://sourceforge.net/projects/lportal/files/Liferay%20IDE/3.3.0%20GA1/
Eclipse集成liferay
打开eclipse,进入help—--Install New Software----Add..
直接选择下载好的插件(zip的即可)
点击Add出现如下
然后next ---next 中间会出现个协议,选择同意
完成后重启eclipse
安装完成后会出现liferay项目的创建
3、JDK1.8
Liferay7.0 之后需要JDK1.8的环境(必须是JDK,JRE不行)
4、liferay初始化
新建liferay server
完成后debug启动liferay server
启动完成后会自动打开默认浏览器进入liferay的初始化页面
数据库配置:(数据库5.6.3以上 8以下)
配置成功。
二、项目搭建
1)、mvc-portlet
1、创建工作空间
New---Liferay Workspace Project
点击finish
2、创建project
Project Template Name 选择mvc-portlet,然后Next
输入类名和包名,然后finish
这里的包名为部署后jar包名。
、
3、部署
点击Gradle Tasks 组件项目中的deploy
部署成功后的jar包并没有直接部署到liferay tomcat下,而是在该工作空间下的module下,需要将生成jar包复制到liferay-ce-portal-7.1.0-ga1\deploy 下。
如果想部署后直接到liferay tomcat下,需要修改工作区间下的gradle.properties,添加如下属性:
部署完成后可以在示例里面看到。
到这就完成自己插件的部署。
2)、service-builder
Service-builder是Liferay提供的一个代码生成方案,用来和数据库打交道。
- 创建
新建一个liferay module project
Project template name选择service-builder
点finish填写包名完成创建
2. 数据库表配置
完成创建后项目会在我们的modules下面。
项目分为ServiceBuild-api 和ServiceBuid-service两部分,
在service下面找到service.xml文件,此文件为数据库描述文件。
文件属性:
Namespace 为表名的前缀
Entity里面的name为表生成实体后的名字,默认也是表明,如果想指定表明,要用table属性。
Column:为表中字段,name为默认实体属性名也为数据库表字段名,想指定字段的话用db-name,type为字段类型,这里的字段类型为Java中的数据类型。
如果是主键,添加primary=true属性。
Order为排序方法,字段名指定前面column里面的name值。
编写完service.xml文件后,找到gradle tasks下面的servicebuildtwo-service,进入到build,双击buildService
Build成功后刷新ServiceBuildTwo工程会发现在api和service下面生成了src包,里面是生成的数据库相关代码,API我们一般不需要改动,一般修改service包下的..Impl.java, ..LocalServiceImpl.java, ..serviceimpl.java文件,主要实现业务层逻辑。
部署完后会在数据库中发现增加了相关表。
3)、在portlet中使用servicebuild包
打开portlet工程下面的build.gradle文件,在dependencies里面添加如下:
compileOnly project(":modules:ServiceBuildOne:ServiceBuildOne-api")
这行代码可在servicebuild-service下的build.gradle文件中复制
现在我们的portlet工程里面就能调用前面的数据库类了。
例:对Foo_User表进行查询,生成的实体类为FooUser
我们需要在FooUserLocalServiceImpl.java 类中写个方法的实现
编写完成后重新buildservice
然后右击项目gradle—refresh gradle project 会把新加的接口同步到portlet项目中。
我们可以通过FooUserLocalServiceUtil进行方法的调用:
这样就完成了简单的查询操作。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
能看到这里你们已经会的差不多了,已经很牛皮啦,给你们点个赞,剩下的就交给你们自己去研究啦,加油。。。。