我在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 提示符中 Play h2-browser。下一步是什么?!当我运行 play h2-browser 时,Google Chrome 在 192.168.1.102:8082 上启动,然后“哎呀!Google Chrome 无法连接到 192.168.1.102:8082”。我没有这方面的实力。我认为 Play 网站上的在线文档非常非常差(作为初学者)
在模型类中,在名为index(返回结果)的方法中,我有以下代码:
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))
);
谁能帮我?
最佳答案
您应该让您的代码库遵循以下原则。
- 仅使用 Controller 类来处理请求/响应流。
- 编写模型类来定义实体属性。 Play 模型类通常使用 EBean ORM(请参阅 http://www.avaje.org/ebean/documentation.html )。
- 使用“Play”命令运行应用程序,然后使用“H2-Browser”命令启动 H2 数据库浏览器。
- 您可能想使用以下配置 -
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
db.default.user=sa
db.default.password=sa
示例 Controller (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()
关于database - 使用 H2 玩框架 - 需要简单的教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19689781/