Получить доступ

Что такое JDBC?

JuniorJDBC
Ещё спрашивают так:
  • Как Java подключается к базе данных?
Коротко

JDBC — стандартный API Java для работы с реляционными базами: Connection, PreparedStatement, ResultSet. Реализацию для конкретной СУБД поставляет драйвер.

  • Код пишется против интерфейсов, база меняется сменой драйвера и URL
  • DataSource и пул соединений вместо DriverManager
  • ORM (Hibernate) и Spring JdbcTemplate работают поверх JDBC

А ещё JDBC блокирующий; для реактивного стека — R2DBC

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Разделение на API и драйвер позволяет писать код против одного набора интерфейсов — соединение, запрос, результат — и менять базу, меняя драйвер и диалект SQL. JDBC работает на уровне SQL: вы сами пишете запросы и разбираете результат. ORM вроде Hibernate не заменяет его, а надстраивается сверху, генерируя те же вызовы.

Что хотят услышать

  • Что такое JDBC и роль драйвера.
  • Основные интерфейсы.
  • Связь с ORM и пулом.

Частые ошибки

  • Путать JDBC с ORM.
  • Считать, что смена драйвера делает SQL полностью переносимым.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Стандартный Java API для работы с реляционными базами: единый интерфейс, за которым стоит драйвер конкретной СУБД
  • ✗Библиотека объектно-реляционного отображения, заменяющая SQL
  • ✗Протокол передачи данных между базами
  • ✗Формат хранения таблиц на диске

Что спросят дальше

  • Чем PreparedStatement безопаснее обычного Statement?
  • Почему соединения берут из пула?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем