आपका try-with-resources करता है close ResultSet , लेकिन यह वास्तविक समस्या नहीं है। आपको Statement सेट अप करना होगा पहले आप इसे निष्पादित करते हैं (और पसंद करते हैं PreparedStatement और बाध्य पैरामीटर)। कुछ इस तरह,
public Integer findByName(String name) throws SQLException {
String sql = "select id from artists where name=?";
Connection con = Database.getConnection();
try (PreparedStatement stmt = con.prepareStatement(sql)) {
stmt.setString(1, name);
try (ResultSet rs = stmt.executeQuery()) {
return rs.next() ? rs.getInt(1) : null;
}
}
}