Boilerplate vom DB-Code entfernen

Es scheint, dass ich jedes Mal, wenn ich eine Datenbankabfrage durchführen möchte, Folgendes schreiben muss:

Connection conn = null;
Statement stmt = null;
ResultSet rset = null;

try {
    conn = dataSource.getConnection();
    stmt = conn.prepareStatement(sql);
    // ...set stmt params
    rset = stmt.executeQuery();
    while(rset.next()) {
        // Do something interesting
    }
} finally {
    try { if (rset != null) rset.close(); } catch(SQLException e) { }
    try { if (stmt != null) stmt.close(); } catch(SQLException e) { }
    try { if (conn != null) conn.close(); } catch(SQLException e) { }
}

Ist das wirklich der beste Weg, dies zu tun? Gibt es eine Möglichkeit, das Durcheinander zumindest zu verringern?

Bearbeitet: Wie in einigen Kommentaren betont wurde, dauerte dieser Code nicht langegenug.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage