JDBC

JDBC (англ. Java DataBase Connectivity — соединение с базами данных на Java) — платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql, входящего в состав Java SE.

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

История

Sun Microsystems выпустила JDBC как часть JDK 1.1 19-го февраля 1997 года. С тех пор он является частью J2SE. Классы JDBC находятся в пакетах java.sql и javax.sql. Начиная с версии 3.1, JDBC разрабатывался в рамках Java Community Process (JCP), который включает в себя стандартизованные спецификации для Java-разработчиков.

Интерфейсы

JDBC API содержит два основных типа интерфейсов: первый – для разработчиков приложений и второй (более низкого уровня) – для разработчиков драйверов.

Соединение с базой данных описывается классом, реализующим интерфейс java.sql.Connection. Имея соединение с базой данных, можно создавать объекты типа Statement, служащие для исполнения запросов к базе данных на языке SQL.

Существуют следующие виды типов Statement, различающихся по назначению:

  • java.sql.Statement — Statement общего назначения;
  • java.sql.PreparedStatement — Statement, служащий для выполнения запросов, содержащих подставляемые параметры (обозначаются символом ‘?’ в теле запроса);
  • java.sql.CallableStatement — Statement, предназначенный для вызова хранимых процедур.

Интерфейс java.sql.ResultSetпозволяет легко обрабатывать результаты запроса.

Преимущества

Преимуществами JDBC считают:
  • Лёгкость разработки: разработчик может не знать специфики базы данных, с которой работает
  • Код практически не меняется, если компания переходит на другую базу данных (количество изменений зависит исключительно от различий между диалектами SQL)
  • Не нужно устанавливать громоздкую клиентскую программу
  • К любой базе можно подсоединиться через легко описываемый URL.

ODBC и JDBC

Оба продукта являются популярным выбором на рынке.

Ключевые отличия между ODBC и JDBC

  • ODBC- стандартный интерфейс прикладного программирования для взаимодействия и доступа к системам управления базами данных, тогда как JDBC- интерфейс прикладного программирования на Java для определения возможностей доступа клиента к БД.
  • ODBC может быть реализован и улучшен на любых языках(например, C, C++, Java и т.д.), тогда как JDBC- только на Java.
  • ODBC процедурный API, а JDBC- объектно-ориентированный.
  • ODBC основан на сервере Microsoft IIS и реализован в системах на базе Windows. JDBC используется на сервере Apache Tomcat и основан на веб-сервере на основе Linux, также работает на серверах приложений JBoss и IBM.
  • ODBC выполняется на основе модели архитектуры безопасности Windows NT, JDBC работает на основе модели безопасности Java.
  • ODBC зависим от платформы Windows, тогда как JDBC независима от платформы, следовательно, может работать на платформе базы Windows или Linux.
  • Архитектура ODBC состоит из четырех компонентов, а JDBC поддерживает как двухуровневые, так и трехуровневые модели обработки БД, в основном из двух уровней: JDBC API и JDBC Driver API.

Обсуждение закрыто.