6

db=mem構成ファイルにある場合は、PlayFrameworkに付属のインメモリデータベースを開発に使用します。

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]

Webコンソールにアクセスすると/@db、ユーザー名saが使用され、パスワードは使用されません。


これで、インターフェイスを介してログインし/@db、テーブルを作成しましたusers

次に、コントローラーメソッドでデータベースに接続し、このjdbc-string:jdbc:h2:mem:play:saを使用してから、テーブルに挿入しようとしましたが、次のusersエラーメッセージが表示されます。

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

JDBCを使用してPlayFrameworkのインメモリ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 に答える