`
Tyler_Zhou
  • 浏览: 216990 次
  • 性别: Icon_minigender_1
  • 来自: 湖北->上海
社区版块
存档分类
最新评论

liferay持久化代码的自动生成

阅读更多
liferay对数据库的操作他有自已的一套写法,我们可以用service.xml来自动生成这些代码, 这样就省了不少力气.在ext-impl包的classes下面service.xml写上数据库表字段如下:
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 4.3.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_4_3_0.dtd">

<service-builder root-dir=".." package-path="com.ext.portlet">这个是路径一般和开发的portlet在一个包下
<portlet name="mail" short-name="mail" />
<entity name="MailEntry" local-service="false" remote-service="true" persistence-class="com.ext.portlet.mail.service.persistence.MailEntryPersistence" table="*****">

<!-- PK fields -->

<column name="mailId" type="long" primary="true" />

<!-- Audit fields -->

<column name="groupId" type="long" />
<column name="createDate" type="Date" />

<!-- Other fields -->
<column name="name" type="String" />

                  column name这个值是要和表中的字段名一样,会自动全变成大写.

<!-- Order -->

<order by="asc">
<order-column name="createDate" case-sensitive="false" />
</order>排序设置.

<!-- Finder methods -->

<finder name="groupId" return-type="Collection">
<finder-column name="groupId" />
</finder>
                  增加的查找,删除的方法,默认情况下他会生成一些常用的方法,如:主键查找,查找所有,删除.你可以根据自已的需要来增加一些方法,包括多个字段的组合查找.
</entity>
<exceptions>
<exception>EntryName</exception>
</exceptions>
</service-builder>
OK,这个文件写好了以后,build-service这个文件,然后你就会发现在你的ext-impl包下面指定的地方多了两个文件夹,一个service,一个model.impl,service下面会有三个文件夹,如果有权限设置也是在这里的.然后在ext-service这个包下面也会多一个包,这个包下面有两个包,一个model,一个service.ext-impl/classes/META-INF/里面的hbm.xml,spring.xml,hints.xml会自动的加上相关的代码.
然后要修改其中的三个文件,ext-service/新建包名/service/***EntryService.java和***EntryServiceUtil.java,***EntryService.java这个是个接口,你可以把你要用到的一些持久化的方法(ext-impl/新建包名/service/***Entrypersistence.java中有所有的方法)写到这里,***EntryServiceUtil.java这里写上这些静态方法(在action中操作的时候就是调用这个类),最后一个要修改的是ext-impl/新建包名/service/impl/***EntryServiceImpl.java因为他实现了,***EntryService这个接口所以把他的实现方法写这里就好了.

以上我说的可能比较粗糙,其实自动生成这些文件后,修改那三个文件时,如果您不知道怎么改可以参照liferay的源码,他的目录层次和这个是一样的,在blog和journalArtlice里面相对应的三个文件就可以了,基本上是一看就明白了.最后一点自动生成spring.xml中bean id="com.ext.portlet.包名.service.persistence.***EntryPersistenceImpl 对应的class值,这个值每次总是个错的,不晓得为什么,要手动的改一下.
分享到:
评论
5 楼 chirking 2008-12-09  
这个地方研究了一个星期都没明白,哭死了。大哥能帮帮忙吗?~~
4 楼 chirking 2008-12-08  
这个很重要啊,网上一点这方面的资料都没有。。拜托了
3 楼 chirking 2008-12-08  
能不能具体一点呢。看不明白啊~~
2 楼 libaoxun1218 2008-05-13  
不够详细,能不能具体写出一些步骤。
1 楼 luozhilzh 2008-04-07  
有更具体的说明吗?能否发给我看看?
我的msn:luozhilzh@hotmail.com

相关推荐

    Liferay开发持久化层和服务层演示Demo代码

    通过分析“Liferay开发持久化层和服务层演示Demo代码”这一主题,我们将理解Liferay Service Builder如何帮助开发者高效地管理数据库操作,并创建自定义服务。 首先,Liferay是一个开放源代码的企业级门户平台,它...

    liferay 超级学习文档

    Liferay的Service Builder工具也可以与Hibernate结合,自动生成服务层代码,方便数据操作。 四、Liferay 学习路径 学习Liferay,首先要熟悉Java EE基础,包括Servlet、JSP、JPA等。接着,了解portlet开发,掌握...

    liferay架构

    例如,通过解析service.xml文件,可以自动生成EJB、HBM(Hibernate Mapping)和Model组件,这一过程主要依赖于Xdoclet引擎。这种自动化机制大大提升了开发效率,同时也确保了代码的一致性和可维护性。 ### 总结 ...

    Liferay教程

    在Liferay开发中,服务构建器是一个非常重要的工具,它能够自动生成与数据库交互的服务层代码。通过定义`service.xml`文件,开发者可以轻松地创建实体类、DAO层、本地服务接口等,极大地提高了开发效率。 #### `...

    liferay sdk

    开发者可以通过服务建设者生成持久化模型、DAO层、服务接口和实现,以及相应的XML配置文件。 5. **Liferay Theme**:Liferay主题允许开发者自定义门户的外观和样式。SDK包含创建和修改主题的工具,包括预设的模板和...

    Liferay技术文档

    每个 Portlet 的持久性数据都有单独的 ejb.xml 文件,通过 Ant 构建工具中的 build-ejb 命令生成,XDoclet 用于自动代码生成。 - **安全机制**:Liferay 采用 JAAS(Java Authentication and Authorization Service...

    Liferay_SSH_开发案例

    2. **自动生成持久化层和服务层的类** - **编写SERVICE.XML**:Service Builder是Liferay提供的一种工具,用于自动生成服务层代码。在`service.xml`中,定义实体类的字段、关联关系以及自动生成的服务接口和实现。 ...

    liferay portlet开发参考手册

    Service Builder允许开发者自动生成服务层代码,简化数据库操作,而DAO(数据访问对象)模式则提供了与数据库交互的标准接口。 书中还会涵盖主题和布局的主题,这是Liferay Portal的一大特色。通过创建和应用自定义...

    liferay ssh

    - **利用ServiceBuilder自动生成持久化层和服务层的类**:运行Ant任务后,ServiceBuilder会根据service.xml文件中的配置自动生成DAO接口和实现类、服务接口和实现类等。 ##### 3. 配置一个portlet - **定义...

    liferay-demo:Liferay示范

    通过Service Builder,开发者可以自动生成DAO、Service和API,从而减少手动编写SQL和持久层代码的工作量。 6. **Liferay Theme 开发** 主题决定了Liferay门户的外观。开发者可以通过修改或创建新的主题,改变颜色...

    LiferayPortal二次开发指南(read)

    同时,服务层(Service Layer)提供了一组基于JPA的持久化服务,方便操作数据库。 - 服务构建器:生成服务层代码,提供对数据模型的操作API。 - Hook开发:通过hook扩展或覆盖Liferay的默认行为,无需修改源码。 - ...

    GenericMatrixService:Java服务使用Spring数据和Hibernate来访问使用Liferay Service Builder创建的矩阵数据

    一旦定义完成,Service Builder会自动生成必要的服务接口、实现类以及DAO(数据访问对象),简化了数据库操作。 接下来,我们引入Spring Data,这是一个强大的框架,它简化了JPA(Java Persistence API)的使用,...

    J2EE开源框架

    PropertySet 则是一个基于 XML 的持久化方案。 - **AOP 和 IoC 框架**:Spring 是一个全能型的 AOP 和 IoC 容器,尽管配置较为复杂,但提供了强大的功能;AspectJ 和 AspectWerkz 分别是 AOP 方面的框架;...

    J2EE程序员需掌握的技术

    18. **项目构建和安装包制作**:Ant和Maven负责构建自动化,Izpack等工具用于创建安装程序。 19. **软件过程和建模设计**:CMMI、RUP、XP等软件过程模型,以及Rose、PowerDesigner等建模工具,对大型项目的管理至关...

Global site tag (gtag.js) - Google Analytics