• liferay添加新方法步骤



    但是在portlet中我们一般不直接使用xxUtil方法,所以要通过BooksLocalServiceUtil方法进行调用,需要再进行一层包装,找到xxx.service.impl里面的BooksLocalServiceImpl类,我们在里面添加一个方法名为getAllBooks,然后在这个方法里面写booksPersistence.findByUserId(userId,groupId)。写完之后重新执行ServiceBuilder。(具体体代码参看CURD-demo里面的)
    步骤:
    XXLocalServiceImpl中添加我们的方法 --》 运行serviceBulder --》 会在XXLocalServiceUtil中生成对应的方法 -- 》通过portlet进行调用


    HQL:
    1. 先在book.service.persistence里面新建BookFinderImpl类,继承自BasePersistenceImpl类。此处的命名必须是xxFinderImpl,前面的xx是Service.xml里面定义的实体名称。
    2. 执行service builder,此时会在service包的book.service.persistence下面生成BookFinder的接口类和对应的BookFinderUtil类
    3. 让我们的BookFinderImpl继承BookFinder类。现在我们的BookFinderImpl类如下。
    public class BookFinderImpl extends BasePersistenceImpl<Book> implements BookFinder {
    }
    4. 在此类中编写我们的具体的查询方法
    5. 重新执行ServiceBuilder,现在会在BookFinderUtil里面生成相应的接口,但是我们不能直接调用BookFinderUtil方法,需要将我们的这个方法添加到BookLocalServiceImpl里面。我们在BookLocalServiceImpl里面添加相应的方法,在BookLocalServiceImpl里面使用BookFinderUtil.findBooks()进行调用。
    也就是说,经过前面几步,service builder已经为我们生成了对应的FinderUtil类,但是不能用,还要通过对应的LocalServiceImpl来调用。
    6. 再次执行ServiceBuilder,现在就可以通过BookLocalServiceUtil类调用自定义的查询类了。

  • 相关阅读:
    最少必要知识
    pythonGUI编程
    计算机网络基础
    .htaccess总结
    SSRF总结
    jsp学习笔记
    url任意跳转漏洞
    学期总结
    计科一班本学期作业成绩汇总表格
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/yunyunde/p/6943329.html
Copyright © 2020-2023  润新知