Explicit closing of the ResultSet and Statement is the preferred way to go. This let's the database server free its resources.
If you close the Connection w/out closing the ResultSet, your
Java resources are freed, but the database may still consider the ResultSet (cursor) to be open. I've seen this lead to a "Maximum number of cursors exceeded" error.