0

私はこれを理解するのに大変な時間を過ごしています。Play-Framework2.1Javaアプリで基本的な検索エンジンを作りたいです。このアプリには、MySQLデータベースに保存されているビデオゲームレコードのリストがあります。UIを使用すると、ビデオゲームのタイトルを入力して検索できます。Playアプリは、ユーザーが入力したクエリに一致するすべてのゲームのリストを返す必要があります。ユーザーが「マリオ」を検索すると、そのテキストを含むすべてのゲームのリストが返されます。

現在、コントローラーにあるのは次のとおりです。

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クラスのPlay2.0.3ドキュメント(注:これをカバーする2.1のドキュメントは見つかりませんでした。これは、私が使用しているバージョンです)をすべて調べましたが、カスタムクエリを検索する方法を見つけることができませんでした。または、必要なSQLクエリを作成する方法。私はJavaでかなり迷い、中級者です。ヘルプ!:-(

4

1 に答える 1

3

これは、Playではなくebeanに固有の質問です。

あなたはこのようにすることができます:

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