Что такое JDBC?
- Как Java подключается к базе данных?
JDBC — стандартный API Java для работы с реляционными базами: Connection, PreparedStatement, ResultSet. Реализацию для конкретной СУБД поставляет драйвер.
- Код пишется против интерфейсов, база меняется сменой драйвера и URL
DataSourceи пул соединений вместо DriverManager- ORM (Hibernate) и Spring JdbcTemplate работают поверх JDBC
А ещё JDBC блокирующий; для реактивного стека — R2DBC
Подробно
Разделение на API и драйвер позволяет писать код против одного набора интерфейсов — соединение, запрос, результат — и менять базу, меняя драйвер и диалект SQL. JDBC работает на уровне SQL: вы сами пишете запросы и разбираете результат. ORM вроде Hibernate не заменяет его, а надстраивается сверху, генерируя те же вызовы.
Что хотят услышать
- Что такое JDBC и роль драйвера.
- Основные интерфейсы.
- Связь с ORM и пулом.
Частые ошибки
- Путать JDBC с ORM.
- Считать, что смена драйвера делает SQL полностью переносимым.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Протокол передачи данных между базами
- ✗Формат хранения таблиц на диске
- ✓Стандартный Java API к реляционным БД; конкретную СУБД обслуживает драйвер
- ✗Библиотека объектно-реляционного отображения, генерирующая SQL
Что спросят дальше
- Чем PreparedStatement безопаснее обычного Statement?
- Почему соединения берут из пула?
Разбор темы
- JDBC и безопасные запросы
Connection/Statement/ResultSet, PreparedStatement против инъекций, ручные транзакции, ресурсы и пул соединений.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.