Connection
Connection — это активный контекст работы с базой
Connection представляет соединение приложения с конкретной базой данных.
Через него создаются SQL-команды, настраиваются транзакции и запрашивается информация о соединении.
Почти вся дальнейшая работа JDBC начинается именно с этого объекта.
try (Connection connection = DriverManager.getConnection(url, user, password)) {
System.out.println(connection.getAutoCommit());
}
Соединение является ресурсом, поэтому его нужно закрывать после использования.
Знакомый try-with-resources делает это автоматически и особенно хорошо подходит для небольших JDBC-примеров.
В серверных приложениях соединение часто приходит из пула, но правило остаётся тем же: полученный ресурс нужно вовремя вернуть владельцу.
Через Connection создаются команды
Сам Connection обычно не содержит SQL, который нужно выполнить.
Он создаёт объекты для конкретных команд — чаще всего PreparedStatement.
try (PreparedStatement statement = connection.prepareStatement(
"UPDATE users SET active = ? WHERE id = ?")) {
statement.setBoolean(1, true);
statement.setLong(2, 42);
statement.executeUpdate();
}
Состояние соединения влияет на следующие операции
У Connection есть настройки, которые меняют поведение выполняемых через него команд:
например, режим auto-commit, уровень изоляции транзакций и read-only флаг.
Поэтому соединение — не просто «провод до базы», а объект с состоянием.