開発用のコンフィグレーションファイルにdb=mem
がある場合、Play Frameworkに付属のメモリ内のデータベースを使用します。JDBCを使用して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();
}
}
しかし、私は、私はユーザー名とパスワードを提供する必要がエラーメッセージを得る:私はWEB-を訪問すれば
org.h2.jdbc.JdbcSQLException: Wrong user name or password [8004-149]
をコンソール/@db
にユーザ名sa
が使用され、パスワードはありません。
は今、私は/@db
インターフェース経由でログインし、テーブルusers
を作成しました。
それから私は、コントローラメソッドでデータベースに接続し、このJDBC文字列を使用:jdbc:h2:mem:play:sa
して、テーブルusers
に挿入しようとしたが、私は、このエラーメッセージが出ます:私はに接続する必要がありますどのように
org.h2.jdbc.JdbcSQLException: Table "USERS" not found; SQL statement:
をJDBCを使用したPlay Frameworkのメモリ内H2データベース?
私はそれを呼び出すたびに新しい接続が返されますか?それとも、私が閉じてはならないことは同じですか? – Jonas
HibernateSessionから与えられた接続です。だから私はあなたがそれを閉じないほうが良いと思います。 – niels