Драйвер – это сущность, которая реализует определённые интерфейсы JDBC API для взаимодействия с сервером базы данных (далее – БД).
Например, именно драйвер даёт нам возможность открывать соединения и выполнять SQL – запросы и т.д.
Разработчики БД должны имплементировать интерфейс java.sql.Driver для того, чтобы их БД могла работать с JDBC.
Типы драйверов
Java работает с различным оборудованием и с различными операционными системами (далее – ОС), именно поэтому существуют различные драйверы реализующие JDBC для различных платформ.
Существует 4 типа драйверов для JDBC.
Рассмотрим их по отдельности:
Тип 1. JDBC – ODBC транслятор
Этот тип драйвера транслирует JDBC в установленный на каждой машине клиентской машине ODBC. Использование ODBC требует конфигурации DSN, который является целевой БД.
Изначально, именно этот тип драйверов был наиболее используемым, так как большинство БД поддерживало только ODBC.
Тип 2. JDBC – нативный API
В этом драйвере JDBC API преобразовывается в уникальный для каждой БД нативный C/C++ API. Его принцип работы крайне схож с драйвером первого типа.
Если мы меняем БД, то нам необходимо изменить и нативный API, который будет работать с конкретной БД.
Тип 3. JDBC драйвер на основе библиотеки Java
Этот тип драйверов использует трёх-звенный подход для получения доступа к БД. Для свзяи с промежуточным сервером приложения используется стандартный сетевой сокет. Информация, полученная от этого сокета транслируется промежуточным сервером в формат, который необходим для конкретной БД и направляется в сервер БД.
Этот подход является крайне гибким, так как нет необходимости устанавливать ПО на стороне клиента и один драйвер способен обеспечить доступ к различным типам БД.
Тип 4. Чистая Java.
Этот тип драйверов разработан полностью с использованием языка программирования Java и работает с БД через сокетное соединение. Главное его преимущество – наибольшая производительность и, обычно, предоставляется разработчиком БД.
Другое его преимущество – невероятная гибкость. Нам не нужно устанавливать никакого дополнительного программного обеспечения (далее – ПО).
Ярким примером такого драйвера является MySQL Connector/J.
Если мы используем такие БД, как MySQL, Oracle и т.д., то наиболее предпочтительным будет использование драйвера типа 4.
Если наше приложение использует различные виды БД, то тип 3 будет более приемлемым.
Если для нашей БД ещё нет драйверов типа 3 или 4, то мы будем вынуждены использовать дврайвер типа 2.
Драйвер типа 1, обычно не используется в коммерческой разработке.
В этом уроке мы рассмотрели типы драйверов для JDBC.
В следующем уроке мы изучим соединения в JDBC.