0

我有一个地狱般的时间来解决这个问题。我想在我的 Play-Framework 2.1 Java 应用程序中创建一个基本的搜索引擎。该应用程序有一个存储在 MySQL 数据库中的视频游戏记录列表。用户界面可让您输入视频游戏标题并进行搜索。Play 应用应返回与用户输入的查询匹配的所有游戏的列表。如果用户搜索“Mario”,它应该返回包含该文本的所有游戏的列表。

目前我在我的控制器中拥有的是:

public class Games extends controller {
    //NOTE: instance fields omitted

    public static Result search() {
        DynamicForm form = form().bindFromRequest();
        //Query is now stored in form.get("q"), though I can't figure out how to use it

        List<Game> games = new Model.Finder(String.class, Game.class).all();
        //This returns every game currently in the database
        return ok(search.render(games);
    }    
}

我查看了 Model.Finder 类的所有Play 2.0.3 文档(注意:我找不到涵盖此内容的 2.1 文档,这是我正在使用的版本),并且找不到如何搜索自定义查询,或者如何构建我想要的 SQL 查询。我在 Java 中非常迷茫和中级。帮助!:-(

4

1 回答 1

3

这是针对ebean而不是 Play 的特定问题。

你可以这样做:

List<Game> games = new Model.Finder(String.class, Game.class)
    .where().like("name", "foo%").findList();
于 2013-03-13T10:47:38.880 回答