У меня есть примитивный метод получения для моей базы данных. Мне нужно получить курс по его идентификатору, а затем закрыть соединение и инструкцию.
public Course get(int id) throws ClassNotFoundException, SQLException {
try (Connection connection = ConnectionConfig.getDbConnection();
PreparedStatement statement = connection.prepareStatement(GET_COURSE)){
statement.setInt(1, id);
ResultSet course = statement.executeQuery();
course.next();
String result = course.getString(1);
return new Course(id, result);
}
}
Я хочу сделать это с помощью try-with-resources. Будет ли это работать в этом коде или автоматическое закрытие не сработает из-за оператора return в блоке? С другой стороны, я не хочу использовать return за пределами этого блока, потому что метод может возвращать объект с нулевым полем. Какая форма метода наиболее эффективна и удобочитаема в данной ситуации? Заранее спасибо, я так понимаю это довольно дилетантский sh вопрос)