What you have done is perfect and very good practice.
The reason I say its good practice… For example, if for some reason you are using a “primitive” type of database pooling and you call connection.close()
, the connection will be returned to the pool and the ResultSet
/Statement
will never be closed and then you will run into many different new problems!
So you can’t always count on connection.close()
to clean up.
I hope this helps 🙂