Play框架:在播放框架中使用netbeans存储数据库中的坐标

时间:2013-07-11 08:04:06

标签: playframework-2.0 ebean

我第一次使用游戏并且陷入了迷宫。我试图在数据库中存储top和left的值以及产品名称。我已设法将值传递给控制器​​,但我不确定如何从那里存储它。

//controller
    @BodyParser.Of( play.mvc.BodyParser.Json.class )
        public static Result myMethod(){
            response().setContentType( "application/json" );
            JsonNode json = request().body().as(JsonNode.class);
            JsonNode jsonRequest = request().body().asJson();
            //left and top
            Double left= jsonRequest.findPath("Left").asDouble();
            Double top= jsonRequest.findPath("Top").asDouble();
            ObjectNode result = Json.newObject();
            System.out.println("left " +left+"\ntop "+top);
            result.put("status", "OK");
            return ok(result);
        }

这是我的数据库架构

@Entity 
public class Position extends Model {

    @Id 
    public long id;

    @Required
    public long left;

    @Required
    public long top;

    public static Finder<Long,Position> find = new Finder<Long,Position>(Long.class, Layout.class);
}

如何使用ebeans ???

保存它

1 个答案:

答案 0 :(得分:0)

我得到了这个答案。您所要做的就是将其从json转换为Java Object。

//controller
@BodyParser.Of( play.mvc.BodyParser.Json.class )
    public static Result myMethod(){
        response().setContentType( "application/json" );
        ObjectNode result = Json.newObject();
        JsonNode json = request().body().asJson();
        Position p = Json.fromJson(json, Position.class);
        System.out.println(json);// to view in controller
        p.save();

        result.put("status", "OK");
        return ok(result);
    }