JDBC была одной из первых библиотек, разработанных для Java. Он был выпущен в 1997 году как часть JDK 1.1. Первоначально он был разработан для клиентской части (java.sql), где можно было поддерживать и управлять подключениями к базе данных, позволяя выполнять запросы, команды и манипулировать данными. В JDBC 2.0 также был включен необязательный пакет, поддерживающий подключения к серверной части (javax.sql). До сегодняшнего дня у нас постоянно есть обновления как для клиентских, так и для серверных пакетов.


Для чего используется JDBC?

JDBC расшифровывается как Java Database Connectivity, Java API, который управляет подключением к базе данных. Этот тип API называется «уровень вызова», что означает, что операторы SQL передаются в виде строк в API, который затем заботится об их выполнении в RDMS. Когда значение этой последовательности может быть изменено во время выполнения, мы можем считать JDBC динамическим, что позволяет переносить программу JDBC между различными системами с минимальными затратами.


Базы данных

Чтобы лучше понять потребность в JDBC, мы можем рассмотреть проект, в котором необходимо разработать тип настольного приложения Java и сделать интеграцию с MySQL, которая будет работать локально, и другим банком, таким как PostgreSQL, к которому будет обращаться сервер Windows. В случаях, когда требуются реляционные базы данных, необходимо иметь простой доступ с необходимыми ресурсами. Вот как JDBC API был представлен в JDK.

Реляционные базы данных по-прежнему составляют подавляющее большинство решений для работы с данными, представленных на рынке.

Описание изображения


Java-пакеты

API состоит из пакетов java.sql и javax.sql, включенных в JavaSE. С помощью классов и интерфейсов, предоставляемых этими двумя пакетами, люди могут разрабатывать программное обеспечение, которое обращается к любому источнику данных, от реляционных баз данных до электронных таблиц.


JDBC и ODBC

До JDBC разработчики использовали ODBC — Open Database Connectivity — стандартный независимый от языка подход к доступу к системе управления реляционными базами данных или RDBMS.

Между JDBC и ODBC действительно есть сходство, ранее использовавшееся для подключения к базам данных. Это связано с тем, что JDBC был создан как источник вдохновения: приложения Java могли использовать любую базу данных, для которой был доступен драйвер ODBC из собственного кода. Таким образом, популярность JDBC возникла из-за драйвера ODBC, используемого для любой базы данных на рынке.

Дифференциал JDBC — это специализация Java, предлагающая интерфейс уровня программирования, который может обрабатывать механику приложений Java и их связь с базой данных.


Драйверы

Драйвер JDBC — это класс, реализующий интерфейс java.sql.Driver. Многие драйверы полностью разработаны с использованием Java, что обеспечивает их динамическую загрузку.

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

Как и ODBC, JDBC также работает через драйверы, отвечающие за подключение к базе данных и выполнение инструкций SQL. Эти драйверы были разделены на четыре типа:

JDBC тип 1: Сначала создается и делает реальное соединение не с базой данных, а с ODBC. Его использование на сегодняшний день можно считать относительно низким, потому что он был написан на родном языке, что затрудняет переносимость и требует дополнительных настроек, которые могут перегрузить систему.

JDBC тип 2: Это тот момент, когда драйвер устраняет любую зависимость от ODBC, но запись на родном языке сохраняется. Этот код разрешает вызовы клиентского API. Необходимо установить библиотеки нативного кода, где система будет выполняться как в типе 1, таким образом являясь драйвером, также не очень рекомендуемым из-за большого количества требований.

JDBC тип 3: Написанный на Java, он устраняет необходимость установки собственных библиотек кода, обеспечивая большую переносимость. Этот драйвер позволяет преобразовывать вызовы JDBC в общие вызовы сетевого протокола, которые затем можно преобразовать в конкретные вызовы API СУБД — промежуточный программный уровень.

JDBC тип 4: Также полностью написанный на Java, он использует собственный сетевой протокол СУБД, преобразовывая вызовы JDBC в прямые вызовы к СУБД без необходимости использования промежуточного клиентского API. Производительность выше, поскольку он напрямую обращается к системе управления базами данных.


Давайте практиковаться?

В следующей статье мы покажем, как работает JDBC и как он связан с криптографией! Мы будем делиться практическим контентом только с членами нашего сообщества (Присоединиться здесь!), но если вам не хватает теории, несколько статей, которые могут помочь вам стать лучшим разработчиком безопасным способом:

В Vaultree мы строим зашифрованное будущее. Мы любим делиться ценной информацией и тенденциями, чтобы помочь вам защитить ваши данные. Подписаться чтобы оставаться в курсе событий и обсуждать самые актуальные тенденции кибербезопасности с командой экспертов.

Описание изображения