Al usar el Try-with-Resources en Listar, este cierra la conexion de los demas métodos, y esto hace que ya no se puedan agregar, eliminar ni modificar los datos, entonces seria mejor volver a tener una conexion propia para cada método? o seria mejor dejar abierto las conexiones?
public List<Producto> listar(){
List<Producto> resultado = new ArrayList<>();
try(con) {
final PreparedStatement statement = con.prepareStatement("SELECT id,nombre,descripcion,cantidad FROM producto");
try (statement){
statement.execute();
ResultSet resultSet= statement.getResultSet();
while(resultSet.next()){
Producto fila = new Producto(resultSet.getInt("id"),
resultSet.getString("nombre"),
resultSet.getString("descripcion"),
resultSet.getInt("cantidad")
);
resultado.add(fila);
}
}
return resultado;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}