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データベースに接続するにはどうすればよいですか?