Вы не закрываете, что можно сделать более безопасно и автоматически с помощью try-with-resources.
Это означает, что фиксация еще не может произойти.Существует также параметр автоматической фиксации.
String query1 = "UPDATE list1 SET " +
"name = ?, " +
"surname = ?, " +
"age = ? " +
"WHERE ID = ?";
try (PreparedStatement stmt = con.prepareStatement(query1)) { // Closes stmt.
stmt.setString(1, jTextFieldName.getText());
stmt.setString(2, jTextFieldSurname.getText());
stmt.setInt(3, Integer.parseInt(jTextFieldAge.getText()));
stmt.setString(4, jLabelActualID.getText());
int updateCount = stmt.executeUpdate();
} catch (SQLException | NumberFormatException e) {
System.err.println(e);
}
То же самое может храниться (или не поддерживаться) для соединения SQL.
Также следует использовать PreparedStatement для безопасности (внедрение SQL) ивведите безопасность / экранирование обратной косой черты, кавычки в строках.Как вы видите, он еще более читабелен.
Другой случай - второе приложение, обращающееся к базе данных: оно может использовать свой собственный кэш, тем самым будучи немного устаревшим.