1
respuesta

[Duda] Cerrar la conexión

Hola, tengo una duda, en esta parte faltó cerrar la conexion a la BBDD, ¿no? Pues no se cierra con con.close() ni con un try-with-resources para la connection con.

public class CategoriaDAO {

    private Connection con;

    public CategoriaDAO(Connection con) {
        this.con = con;
    }

    public List<Categoria> listar() {
        List<Categoria> resultado = new ArrayList<>();
        try {
            final PreparedStatement statement = con.prepareStatement(
                    "SELECT ID, NOMBRE FROM categoria");
            try(statement){
                final ResultSet resultSet = statement.executeQuery();

                try (resultSet) {
                    while(resultSet.next()) {
                        var categoria = new Categoria(resultSet.getInt("ID"),
                        resultSet.getString("NOMBRE"));

                        resultado.add(categoria);
                    }
                };
            }

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

        return resultado;
    }
1 respuesta

Hola Eduardo, espero que estés bien!

Realmente, el profesor no utiliza ninguna de las opciones citadas, estamos revisando el contenido, gracias por la alerta.

Veo que esta pregunta es recurrente, así que estoy enviando una respuesta ya existente en el foro sobre esto: https://app.aluracursos.com/forum/topico-cerrar-conexion-con-el-pool-160225

Saludos y buenos estudios!