6

当我db=mem在配置文件中有配置文件时,我使用 Play Framework 附带的内存数据库进行开发。

如何使用 JDBC 连接到该数据库?而不是默认方式的 JPA。

我在我的控制器中尝试过这种方法:

public static void addToDB() {
    try {
        Connection conn = DriverManager.getConnection("jdbc:h2:mem:play");
        Statement stmt = conn.createStatement();
        stmt.execute(sql);
        stmt.close();
        conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

但是我收到一条错误消息,我需要提供用户名和密码:

org.h2.jdbc.JdbcSQLException: Wrong user name or password [8004-149]

/@db如果我使用用户名访问 Web 控制台,但sa没有密码。


现在我通过/@db界面登录并创建了一个表users

然后我在控制器方法中连接到数据库并使用了这个 jdbc-string:jdbc:h2:mem:play:sa然后尝试插入到表中users,但我收到了这个错误消息:

org.h2.jdbc.JdbcSQLException: Table "USERS" not found; SQL statement:

我应该如何使用 JDBC 连接到 Play Framework 中的内存 H2 数据库?

4

2 回答 2

8

DB.getConnection(),应该做的工作。

于 2011-07-18T11:16:31.033 回答
7

尝试:

Connection conn = DriverManager.getConnection("jdbc:h2:mem:play", "sa", "");

因为正如您所写,“使用了用户名 sa,没有密码。”

于 2011-07-16T07:53:50.450 回答