Загрузка драйвера: Использование Class.forName("com.mysql.cj.jdbc.Driver"); или получение Connection через DriverManager (JRE 6+). Установка соединения: Вызов DriverManager.getConnection(url, user, password);. Получение объекта Connection, который представляет сессию с БД. Создание оператора: Создание объекта Statement (для простых запросов), PreparedStatement (для параметризованных запросов) или CallableStatement (для вызова хранимых процедур) из объекта Connection.
Опиши основные шаги взаимодействия с базой данных при использовании JDBC.
Загрузка драйвера: Использование Class.forName("com.mysql.cj.jdbc.Driver"); или получение Connection через DriverManager (JRE 6+).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
-
Загрузка драйвера: Использование
Class.forName("com.mysql.cj.jdbc.Driver");или получениеConnectionчерезDriverManager(JRE 6+). -
Установка соединения: Вызов
DriverManager.getConnection(url, user, password);. Получение объектаConnection, который представляет сессию с БД. -
Создание оператора: Создание объекта
Statement(для простых запросов),PreparedStatement(для параметризованных запросов) илиCallableStatement(для вызова хранимых процедур) из объектаConnection.// Создание PreparedStatement PreparedStatement stmt = connection.prepareStatement("SELECT * FROM users WHERE id = ?"); stmt.setInt(1, userId); -
Выполнение запроса: Вызов соответствующего метода на объекте оператора (
executeQueryдля SELECT,executeUpdateдля INSERT, UPDATE, DELETE).// Выполнение запроса и получение результата ResultSet rs = stmt.executeQuery(); -
Обработка результата: Обход объекта
ResultSet(если был SELECT запрос) с помощьюnext()и извлечение данных с помощью методовgetXXX()(например,getString(),getInt()).// Обработка результатов while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); // Дальнейшая обработка данных } -
Закрытие ресурсов: Закрытие объектов
ResultSet,StatementиConnectionв обратном порядке их создания, чтобы освободить ресурсы. Обычно используется блокtry-with-resources.// Закрытие ресурсов с использованием try-with-resources try (Connection conn = DriverManager.getConnection(url, user, password); PreparedStatement stmt = conn.prepareStatement("..."); ResultSet rs = stmt.executeQuery()) { // Обработка данных while (rs.next()) { // ... } } catch (SQLException e) { // Обработка исключений e.printStackTrace(); }