Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] Cierre de conexion para otras consultas

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);
        }
    }
1 respuesta
solución!

¡Hola Miki!

En cuanto a tu pregunta, es importante que cierres la conexión a la base de datos después de cada uso. En el código que compartiste, el try-with-resources se encarga de cerrar la conexión automáticamente después de que se haya terminado de ejecutar el bloque de código dentro del try.

Si necesitas realizar varias operaciones en la base de datos en diferentes métodos, lo recomendable es que abras una nueva conexión en cada método y la cierres al finalizar. De esta manera, no tendrás problemas de que una operación cierre la conexión que necesitas para otra operación.

Espero que esto te haya ayudado a aclarar tus dudas. ¡Buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!