Что такое 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 по отдельности.
Элементы 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.