Руководство по JDBC. Введение.

Что такое JDBC?

Java Database Connectivity – это стандартный API для независимого соединения языка программирования Java с различными базами данных (далее – БД).

JDBC решает следующие задачи:

  • Создание соединения с БД.
  • Создание SQL выражений.
  • Выполнение SQL – запросов.
  • Просмотр и модификация  полученных записей.

Если говорить в целом, то JDBC – это библиотека, которая обеспечивает целый набор интерфейсов для доступа к различным БД.

Для доступа к каждой конкретной БД необходим специальный JDBC – драйвер, который является адаптером Java – приложения к БД.


Строение JDBC

JDBC поддерживает как 2-звенную, так и 3-звенную модель работы с БД, но в общем виде, JDBC состоит из двух слоёв.

  • JDBC API
    Обеспечивает соединение “приложение – JDBC Manager”.
  • JDBC Driver API
    Обеспечивает соединение “JDBC Manager – драйвер”.

JDBC API использует менеджер драйверов и специальные драйверы БД  для обеспечения подключения к различным базам данных.

JBDC Manager проверяет соответствие драйвера и конкретной БД. Он поддерживает возможность использования нескольких драйверов одновременно для одновременной работы с несколькими видами БД.

Схематично, JDBC можно представить в таком виде:

JDBC Architecture

Рассмотрим элементы JDBC по отдельности.


Элементы JDBC

JDBC API состоит из следующих элементов:

  • Менеджер драйверов (Driver Manager)
    Этот элемент управляет списком драйверов БД. Каждой запрос на соединение требует соответствующего драйвера. Первое совпадение даёт нам соединение.
  • Драйвер (Driver)
    Этот элемент отвечает за связь с БД. Работать с ним нам приходится крайне редко. Вместо этого мы чаще используем объекты DriverManager, которые управляют объектами этого типа.
  • Соединение (Connection)
    Этот интерфейс обеспечивает нас методами для работы с БД. Все взаимодействия с БД происходят исключительно через Connection.
  • Выражение (Statement)
    Для подтверждения SQL-запросов мы используем объекты, созданные с использованием этого интерфейса.
  • Результат (ResultSet)
    Экземпляры этого элемента содержат данные, которые были получены в результате выполнения SQL – запроса. Он работает как итератор и “пробегает” по полученным данным.
  • Исключения (SQL Exception)
    Этот класс обрабатывает все ошибки, которые могут возникнуть при работе с БД.

Пакеты JDBC

Ключевыми пакетами JDBC являются java.sql и javax.sql. На момент написания этого руководства, текущей версией JDBC является JDBC 4.0.
С отличиями этой спецификации от предыдущих вы можете ознакомиться в JDBC Specification.

Вот основные изменения:

  • Улучшенная обработка исключений.
  • Автоматическая загрузка драйвера БД.
  • Улучшения интерфейсов Connection и Statement.
  • Поддержка национальных символов.
  • Поддержка типа данных SQL 2003 XML.
  • Аннотации.
  • Доступ SQL ROWID.

В этом уроке мы ознакомились с основами JDBC и рассмотрели его архитектуру.

В следующем уроке мы рассмотрим базовый синтаксис языка SQL.