Столкнулся с кодом:
try (Connection conn = this.connect();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setDouble(2, capacity);
pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
Почему Connection conn = this.connect();...
записываются в скобках?
Она аналогична такой получается?
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = this.connect();
pstmt = conn.prepareStatement(sql)
pstmt.setString(1, name);
pstmt.setDouble(2, capacity);
pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
Нет, не аналогична. Вот если вы в добавленном блоке finaly закроете соединение, как это и положено делать , то тогда это будет аналогично. Первый вариант введен в java 7
и называется try-with-resources
. Идея заключается в том, что блок try
, отображенный в таком виде, сам вызывает метод close
у истребуемых ресурсов после того, как они отработали, что часто забывают делать, как вы сейчас, соответственно, это является причиной проблем.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как мне достать весь текст из этого куска статьи? Обычным способом это не получается
Новичок и хотел бы узнать какую СУБД мне "учить"? Открыл hhru посмотрел и везде пишут просто: SQL, я знаю что это язык структурированных запросов,...
Недавно начал изучать servletНа данный момент на томкате развернут проект с одной jsp страничкой