Руководство по JDBC. Драйверы.

Драйвер – это сущность, которая реализует определённые интерфейсы JDBC API для взаимодействия с сервером базы данных (далее – БД).

Например, именно драйвер даёт нам возможность открывать соединения  и выполнять SQL – запросы и т.д.

Разработчики БД должны имплементировать интерфейс java.sql.Driver для того, чтобы их БД могла работать с JDBC.


Типы драйверов

Java работает с различным оборудованием и с различными операционными системами (далее – ОС), именно поэтому существуют различные драйверы реализующие JDBC для различных платформ.

Существует 4 типа драйверов для JDBC.

Рассмотрим их по отдельности:

Тип 1. JDBC – ODBC транслятор

Этот тип драйвера транслирует JDBC в установленный на каждой машине клиентской машине ODBC. Использование ODBC требует конфигурации DSN, который является целевой БД.

jdbc-driver-type1

Изначально, именно этот тип драйверов был наиболее используемым, так как большинство БД поддерживало только ODBC.

Тип 2. JDBC – нативный API

В этом драйвере JDBC API преобразовывается в уникальный для каждой БД нативный C/C++ API. Его принцип работы крайне схож с драйвером первого типа.

jdbc-driver-type2

Если мы меняем БД, то нам необходимо изменить и нативный API, который будет работать с конкретной БД.

Тип 3. JDBC драйвер на основе библиотеки Java

Этот тип драйверов использует трёх-звенный подход для получения доступа к БД. Для свзяи с промежуточным сервером приложения используется стандартный сетевой сокет. Информация, полученная от этого сокета транслируется промежуточным сервером в формат, который необходим для конкретной БД и направляется в сервер БД.

jdbc-driver-type3

Этот подход является крайне гибким, так как нет необходимости устанавливать ПО на стороне клиента и один драйвер способен обеспечить доступ к различным типам БД.

Тип 4. Чистая Java.

Этот тип драйверов разработан полностью с использованием языка программирования Java и работает с БД через сокетное соединение. Главное его преимущество – наибольшая производительность и, обычно, предоставляется разработчиком БД.

jdbc-driver-type4

Другое его преимущество – невероятная гибкость. Нам не нужно устанавливать никакого дополнительного программного обеспечения (далее – ПО).

Ярким примером такого драйвера является MySQL Connector/J.


Если мы используем такие БД, как MySQL, Oracle и т.д., то наиболее предпочтительным будет использование драйвера типа 4.

Если наше приложение использует различные виды БД, то тип 3 будет более приемлемым.

Если для нашей БД ещё нет драйверов типа 3 или 4, то мы будем вынуждены использовать дврайвер типа 2.

Драйвер типа 1, обычно не используется в коммерческой разработке.

 

В этом уроке мы рассмотрели типы драйверов для JDBC.

В следующем уроке мы изучим соединения в JDBC.