database - 使用 H2 玩框架 - 需要简单的教程

标签 database playframework h2

我在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))
        );

谁能帮我?

最佳答案

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

  1. 仅使用 Controller 类来处理请求/响应流。
  2. 编写模型类来定义实体属性。 Play 模型类通常使用 EBean ORM(请参阅 http://www.avaje.org/ebean/documentation.html )。
  3. 使用“Play”命令运行应用程序,然后使用“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

示例 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/

相关文章:

java - 当值保存在 Play Controller 中时,如何读取服务层中的 session 值

postgresql - 斯卡拉玩! Postgres 连接失败

spring-boot - H2 控制台 Spring Boot 未打开

java - H2 数据库仅在文件中不能在内存中工作

c# - 批量更新记录 Entity Framework 列表

mysql - 如何连接到 Excel Power Query 中的服务器端口

php - 存储每个 Assets 的自定义参数的最佳方式

mysql - 数据库规范化: relationship based on join

git - 部署游戏!到 heroku

java - 遍历数据库结果集