Я использую базу данных в памяти, которая поставляется с Play Framework, когда у меня есть db=mem
в файле конфигурации, для разработки.
Как я могу подключиться к этой базе данных с помощью 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
, используется имя пользователя sa
без пароля.
Теперь я вошел в систему через /@db
интерфейс и создал таблицу users
.
Затем я подключился к базе данных в методе контроллера и использовал эту строку jdbc: jdbc:h2:mem:play:sa
, а затем попытался вставить в таблицу users
, но я получаю этосообщение об ошибке:
org.h2.jdbc.JdbcSQLException: Table "USERS" not found; SQL statement:
Как подключиться к базе данных H2 в памяти в Play Framework с использованием JDBC?