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;
}
}
}