Введение в архитектуру JDBC

Java Database Connectivity (JDBC) - это API (интерфейс прикладных программ) или независимый от платформы интерфейс, который помогает связывать Java-программы с различными базами данных, такими как Oracle, My SQL, MS Access и SQL Server. Он предоставляет способы запрашивать и обновлять базу данных, используя операторы обновления языка структурированных запросов (SQL), такие как CREATE, DELETE, INSERT и UPDATE, и операторы запросов, такие как SELECT. Это почти похоже на ODBC (Open Database Connectivity), который был предоставлен Microsoft.

Чтобы соединить Java-программу или приложение с базой данных, необходимо выполнить пять шагов:

1. Загрузить драйвер: драйвер помогает установить соединение с базой данных, поэтому драйвер должен быть загружен один раз в программу. Это можно сделать двумя способами:

  • Class.forName (): с помощью этого файл класса драйвера загружается в память во время выполнения. Нет необходимости создавать новый объект. Например:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): Здесь DriverManager - это встроенный класс Java, в котором регистр является его статическим членом. Используя это, конструктор класса драйвера вызывается во время компиляции. В этом новый объект создан. Например:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Создание подключений: после загрузки драйвера соединение устанавливается. Объект соединения использует имя пользователя, пароль и URL для настройки соединения. URL имеет предопределенный формат, который содержит имя базы данных, используемый драйвер, IP-адрес, где хранится база данных, номер порта и поставщика услуг. Соединение может быть установлено с помощью команды:

Connection con = DriverManager.getConnection(URL, user, password);

3. Создание оператора. После установления соединения пользователь может взаимодействовать с базой данных. Интерфейсы, такие как оператор JDBC, PreparedStatement, CallableStatement, предоставляют методы, которые позволяют пользователю отправлять операторы SQL и получать данные из базы данных. Команда, используемая для создания оператора:

Statement stmt = con.createStatement();

4. Выполнение запроса: SQL-запрос выполняется для взаимодействия с базой данных. Запрос может быть для обновления / вставки в базу данных или для получения данных. Интерфейс оператора предоставляет два метода, т.е. метод executeQuery () для выполнения запросов для извлечения данных, а метод executeUpdate () для выполнения запросов на обновление или вставку. Например:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Закрытие соединения. После выполнения нашего запроса данные, которые пользователь хотел обновить или восстановить, были выполнены, поэтому пришло время закрыть установленное соединение. Интерфейс соединения предоставляет метод close () для закрытия соединения. Например:

con.close();

Архитектура JDBC

JDBC поддерживает два типа моделей обработки для доступа к базе данных, т.е. двухуровневый и трехуровневый.

1. Двухуровневая архитектура:

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

2. Трехуровневая архитектура:

В этом нет прямого общения. Запросы отправляются на средний уровень, т. Е. Браузер HTML отправляет запрос в Java-приложение, которое затем отправляется в базу данных. База данных обрабатывает запрос и отправляет результат обратно на средний уровень, который затем связывается с пользователем. Это повышает производительность и упрощает развертывание приложений.

Компоненты архитектуры JDBC

  • Driver Manager: это класс, который содержит список всех драйверов. Когда запрос на соединение получен, он сопоставляет запрос с соответствующим драйвером базы данных, используя протокол, называемый субпротоколом связи. Соответствующий драйвер используется для установления соединения.
  • Драйвер: это интерфейс, который контролирует связь с сервером базы данных. Объекты DriverManager используются для связи.
  • Соединение: это интерфейс, который содержит методы для связи с базой данных.
  • Оператор: этот интерфейс создает объект для отправки запросов или операторов SQL в базу данных.
  • ResultSet: содержит результаты, полученные после выполнения операторов или запросов SQL.
  • SQLException: все ошибки, которые происходят в приложении базы данных, обрабатываются этим классом.

Базовая архитектурная схема JDBC показана ниже с расположением всех компонентов:

Интерфейсы

Пакет java.sql состоит из множества интерфейсов. Некоторые популярные интерфейсы упомянуты ниже:

  • Интерфейс драйвера: этот интерфейс позволяет использовать несколько драйверов базы данных. Объекты DriverManager создаются для связи с базой данных. Эти объекты создаются DriverManager.registerDriver ();
  • Интерфейс соединения: Интерфейс соединения устанавливает соединение, т.е. сеанс между Java-программой и базой данных. У него много методов, таких как rollback (), close () и т. Д.
  • Интерфейс оператора : этот интерфейс предоставляет методы для выполнения запросов SQL. Он предоставляет фабричные методы для получения объекта ResultSet. Некоторые методы интерфейса оператора являются executeQuery (), executeUpdate () и т. Д.
  • Интерфейс PreparedStatement: Этот интерфейс помогает, когда запросы SQL нужно реализовывать много раз. Он принимает входные параметры во время выполнения.
  • Интерфейс CallableStatement: этот интерфейс используется для доступа к хранимым процедурам. Он также принимает параметры во время выполнения.
  • Интерфейс ResultSet: Этот интерфейс помогает сохранить результат, возвращаемый после выполнения SQL-запросов.

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

Существует четыре типа драйверов JDBC:

1. Драйвер типа 1 или мост JDBC-ODBC: этот драйвер действует как мост между JDBC и ODBC. Он преобразует вызовы JDBC в вызовы ODBC, а затем отправляет запрос драйверу ODBC. Он прост в использовании, но время выполнения медленное.

2. Драйвер типа 2 или собственный API. Частично драйвер Java: этот драйвер использует вызов JNI (собственный интерфейс Java) для специфического API базы данных для конкретного клиента. Он сравнительно быстрее, чем драйвер типа 1, но требует встроенной библиотеки, и стоимость приложения также увеличивается.

3. Драйвер типа 3 или драйвер сетевого протокола. Эти драйверы обмениваются данными с сервером промежуточного программного обеспечения JDBC, используя собственный сетевой протокол. Это промежуточное ПО преобразует сетевой протокол в вызовы, специфичные для базы данных. Они независимы от базы данных. Они могут переключаться с одной базы данных на другую, но работают медленно из-за множества сетевых вызовов.

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

Вывод

В этой статье описывается архитектура JDBC, ее интерфейсы и типы драйверов для связи или взаимодействия с базой данных.

Теперь дневные базы данных поддерживаются в каждом секторе, поэтому их обновление и получение данных из них необходимо. Таким образом, понимание архитектуры поможет понять основные концепции JDBC.

Рекомендуемые статьи

Это было руководство по архитектуре JDBC. Здесь мы обсудили типы драйверов, интерфейсов и компонентов архитектуры JDBC. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Как установить Java 8?
  2. JDBC Интервью Вопросы
  3. Как установить Apache?