1
respuesta

[Duda] try with resources no usado en ProductoDAO

Antes de crear la clase ProductoDAO se usaba try with resource para cerrar las conexiones, pero al implementar la clase ProductoDAO y pasar toda la logica de la conexion a esta clase el instructor no usa mas try with resource para cerrar la conexion.

Mi duda es, ¿esta conexión no quedaria abierta? Si es asi ¿como se cerraria?, ya que al intentar usar el metodo close() y querere volver a hacer una query me lanza una excepcion que dice "You can't operate on a closed Statement".

1 respuesta

¡Hola Miguel!

Es una buena pregunta. En el caso de la clase ProductoDAO, el instructor probablemente esté cerrando la conexión en el método donde se ejecuta la consulta. Es decir, en el método donde se crea el Statement o PreparedStatement y se ejecuta la consulta.

El método close() que mencionas es el método que se utiliza para cerrar la conexión, pero es importante que se cierre en el lugar adecuado. Si se cierra la conexión antes de ejecutar la consulta, como en el caso de try with resources, no se podrá ejecutar la consulta ya que la conexión estará cerrada.

En resumen, es importante cerrar la conexión en el lugar adecuado, en este caso, después de ejecutar la consulta. Si sigues teniendo problemas con la excepción "You can't operate on a closed Statement", revisa que estés cerrando la conexión en el lugar adecuado.

¡Espero haber ayudado y buenos estudios!