Состоит из нескольких ключевых компонентов, которые вместе обеспечивают возможность взаимодействия Java-приложений с различными базами данных. Эти компоненты включают в себя интерфейсы, классы и методы, необходимые для выполнения SQL-запросов, управления соединениями и обработки результатов.
🚩Компоненты
🟠JDBC Driver
JDBC-драйверы обеспечивают связь между Java-приложением и базой данных. Каждый драйвер реализует интерфейсы, определенные в JDBC API, и отвечает за преобразование вызовов Java-методов в команды, понятные конкретной СУБД.
Type 1 (JDBC-ODBC Bridge Driver): Использует мост для взаимодействия с ODBC-драйверами. Устарел и редко используется.
Type 2 (Native-API Driver): Преобразует вызовы JDBC в вызовы API, зависящие от платформы. Требует нативных библиотек.
Type 3 (Network Protocol Driver): Преобразует вызовы JDBC в сетевые протоколы, которые сервер преобразует в вызовы СУБД.
Type 4 (Thin Driver): Преобразует вызовы JDBC непосредственно в сетевые протоколы СУБД. Наиболее распространенный тип.
🟠DriverManager
Класс
DriverManager управляет набором зарегистрированных драйверов и предоставляет методы для получения соединений с базой данных. Он выбирает подходящий драйвер на основе JDBC URL.getConnection(String url): Устанавливает соединение с базой данных, используя указанный URL.getConnection(String url, String user, String password): Устанавливает соединение с указанием имени пользователя и пароля.🟠Connection
Интерфейс
Connection представляет собой соединение с конкретной базой данных. Он предоставляет методы для создания SQL-запросов, управления транзакциями и закрытия соединения.createStatement(): Создает объект Statement для выполнения SQL-запросов.prepareStatement(String sql): Создает объект PreparedStatement для выполнения параметризованных SQL-запросов.setAutoCommit(boolean autoCommit): Управляет автоматической фиксацией транзакций.commit(): Фиксирует текущую транзакцию.rollback(): Откатывает текущую транзакцию.close(): Закрывает соединение с базой данных.🟠Statement
Интерфейс
Statement используется для выполнения статических SQL-запросов и получения их результатов. Он также предоставляет методы для выполнения обновлений данных.executeQuery(String sql): Выполняет SQL-запрос и возвращает объект ResultSet.executeUpdate(String sql): Выполняет SQL-запрос и возвращает количество затронутых строк.execute(String sql): Выполняет SQL-запрос, который может вернуть несколько результатов.🟠PreparedStatement
Интерфейс
PreparedStatement расширяет Statement и используется для выполнения предварительно скомпилированных SQL-запросов с параметрами. Это помогает избежать SQL-инъекций и повышает производительность при многократном выполнении одного и того же запроса.setInt(int parameterIndex, int value): Устанавливает значение параметра типа int.setString(int parameterIndex, String value): Устанавливает значение параметра типа String.executeQuery(): Выполняет параметризованный SQL-запрос и возвращает объект ResultSet.executeUpdate(): Выполняет параметризованный SQL-запрос и возвращает количество затронутых строк.Ставь 👍 и забирай 📚 Базу знаний