Я хочу вставить несколько строк в таблицу H2, а затем снова записать их в список.
Однако я всегда получаю в свой resultSet последний выполненный оператор.
Кроме того, явсегда получаю эту ошибку:
org.h2.jdbc.JdbcSQLException: Feld "username" nicht gefunden Столбец "username" не найден [42122-197]
Здесьмой код:
@Test
public void testInsertAndReadForList() throws SQLException {
User userA = new User(null, "UserA", "passwordA");
User userB = new User(null, "UserB", "passwordB"
String insertStmt = "INSERT INTO user(username, password) " +
"VALUES(?, ?)";
PreparedStatement insertPrepStmt = connection.prepareStatement(insertStmt, Statement.RETURN_GENERATED_KEYS);
insertPrepStmt.setString(1, userA.getUsername());
insertPrepStmt.setString(2, userA.getPassword());
insertPrepStmt.executeUpdate();
insertPrepStmt.setString(1, userB.getUsername());
insertPrepStmt.setString(2, userB.getPassword());
insertPrepStmt.executeUpdate();
int affectedRows = insertPrepStmt.executeUpdate();
assertThat(affectedRows).isEqualTo(1);
ResultSet resultSet = insertPrepStmt.getGeneratedKeys();
List<User> newResultSet = new ArrayList<>();
int i = 0;
while(resultSet.next()) {
i++;
newResultSet.add(new User(resultSet.getLong(i),
resultSet.getString("username"), resultSet.getString("password")));
}
}
Может быть, кто-то может сказать мне, что я здесь не так делаю?