Play框架-如何使用多个MySQL查询构建网页

问题描述 投票:0回答:1

我已经使用官方文档使用Java创建了我的第一个Play Framework网站。它只有一个页面,我在其中显示可以过滤或修改的项目列表。

我有一个带有方法的Controller类:

   public CompletionStage<Result> feedpostslist(String domain, String date, String state, int page, int resnum, String search) {
        return feedRepository.getArticleList(domain, date, state, page, resnum, search).thenApplyAsync(articles -> {
            FeedArticle[] list = new FeedArticle[articles.size()];
            articles.toArray(list);
            return ok(views.html.feedpostslist.render(list));
        }, ec.current());
    }

此方法对数据库进行查询(通过feedRepository),然后使用视图feedpostslist显示结果。

一切都很好,但是现在我需要从数据库中获取其他数据以在同一网页中使用(这样可以进行多个查询)。如何在Play框架中执行此操作?我不知道什么是最好的方法。

我应该(通过feedRepository)在前面显示的方法内执行多个数据库请求,然后将所有这些信息传递给我的视图吗?我不想弄得一团糟,甚至不想沉重的东西。

java playframework
1个回答
0
投票

如果第二个查询不依赖于第一个查询,则可以使用CombineAsync并行运行它们。这是一个很好的例子,说明如何做到这一点:

https://github.com/playframework/play-samples/blob/2.8.x/play-java-ebean-example/app/controllers/HomeController.java#L85

如果第二个查询依赖于第一个查询,那么您只能等待第一个查询完成并运行第二个查询。

© www.soinside.com 2019 - 2024. All rights reserved.