Что такое JDBC и какова его основная последовательность работы?

«Что такое JDBC и какова его основная последовательность работы?» — вопрос из категории Java Core, который задают на 24% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

JDBC (Java Database Connectivity) — это стандартный Java API для подключения и выполнения запросов к реляционным базам данных.

Основные шаги работы:

  1. Загрузка драйвера БД (в современных версиях Java это часто происходит автоматически).
  2. Установка соединения через DriverManager.getConnection(url, user, password).
  3. Создание Statement (Statement, PreparedStatement или CallableStatement).
  4. Выполнение запроса (executeQuery() для SELECT, executeUpdate() для INSERT/UPDATE/DELETE).
  5. Обработка результата через объект ResultSet.
  6. Закрытие ресурсов (рекомендуется использовать try-with-resources).

Пример с PreparedStatement (защита от SQL-инъекций):

try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "user", "pass");
     PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?")) {
    stmt.setInt(1, userId); // Установка параметра
    try (ResultSet rs = stmt.executeQuery()) {
        while (rs.next()) {
            System.out.println(rs.getString("name"));
        }
    }
} catch (SQLException e) {
    e.printStackTrace();
}

Почему PreparedStatement? Он компилируется один раз, повышает производительность и исключает SQL-инъекции за счёт параметризации. Дополнительно: Для production-систем рекомендуется использовать пулы соединений, такие как HikariCP, для эффективного управления подключениями.