1

我在 application.conf 中配置了 H2 取消了这些行:

db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:file:data/db"
db.default.user=sa
db.default.password=""

好的,然后编译我的应用程序,使用 play run,然后在我的应用程序路径中的其他窗口 cmd 提示符中播放 h2-browser。下一步是什么?!当我运行 play h2-browser 时,谷歌浏览器在 192.168.1.102:8082 上启动,然后“糟糕!谷歌浏览器无法连接到 192.168.1.102:8082”。我对此没有力气。在我看来,Play 网站上的在线文档非常非常糟糕(作为初学者)

在模型类中,在称为索引(返回结果)的方法中,我有以下代码:

 String sql = "CREATE TABLE REGISTRATION " +
                   "(id INTEGER not NULL, " +
                   " first VARCHAR(255), " + 
                   " last VARCHAR(255), " + 
                   " age INTEGER, " + 
                   " PRIMARY KEY ( id ))"; 
        Statement statement = null;
        Connection connection = DB.getConnection();
        try {
            statement = connection.createStatement();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            statement.executeUpdate(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return ok(
            index.render(form(Login.class))
        );

任何人都可以帮助我吗?

4

1 回答 1

2

您可能应该让您的代码库遵循以下原则。

  1. 仅使用控制器类来处理请求/响应流。
  2. 编写一个模型类来定义您的实体属性。播放模型类通常使用 EBean ORM(请参阅http://www.avaje.org/ebean/documentation.html)。
  3. 使用“播放”命令运行应用程序,然后使用“H2-Browser”命令启动 H2 数据库资源管理器。
  4. 您可能希望使用以下配置 -
    db.default.driver=org.h2.Driver
    db.default.url="jdbc:h2:mem:play"
    db.default.user=sa
    db.default.password=sa

示例控制器 (Application.java) -

public class Application extends Controller {

    public static Result addrecord() {
             SampleModel sm = new SampleModel();
             sm.text = "Testing";
             SampleModel.create(sm);
             return ok("Record is added");
    }
}

示例模型类 (SampleModel.java) -

@Entity
public class SampleModel extends Model {

     @Id
     public Long id;

     public String text;  // you can add annotations like @Required, @ManyToMany etc

     // other attributes (columns)

     public static void create(SampleModel sm){
          sm.save();
     }
}

路线文件 -

POST    /addrecord         controllers.Application.addrecord()
于 2013-11-04T21:36:55.353 回答