JDBC 😕 база
Что такое JDBC простыми словами?
Стандартный способ Java напрямую работать с БД: открыть соединение, выполнить SQL, прочитать результат.
JDBC 😕 база
Чем JDBC отличается от JPA?
JDBC низкоуровневый: пишешь SQL и сам разбираешь результат. JPA/Hibernate — поверх: маппит объекты и берёт рутину на себя.
JDBC 🤓 уверенно
Как выполнить SQL-запрос через JDBC?
Получить Connection, создать Statement/PreparedStatement, выполнить запрос и прочитать ResultSet.
JDBC 🤓 уверенно
Зачем нужен пул соединений?
Открытие соединения с БД дорого; пул переиспользует готовые соединения, ускоряя работу под нагрузкой.
JDBC 🧐 глубоко
Какие основные интерфейсы используются в JDBC?
JDBC 🧐 глубоко
Как PreparedStatement защищает от SQL-инъекций?
JDBC 😎 про
Какие параметры пула соединений важны для производительности?
JDBC 😎 про
Как реализовать проверку живучести соединений в пуле?
Транзакции JDBC 😕 база
Как управлять транзакцией в чистом JDBC?
conn.setAutoCommit(false), выполняешь запросы, потом conn.commit() или conn.rollback() при ошибке.
Транзакции JDBC 😕 база
Что такое autoCommit и какой он по умолчанию?
По умолчанию true: каждый запрос — отдельная транзакция, коммитится сразу. Для групповых операций выключают.
Транзакции JDBC 🤓 уверенно
Что такое batch-операции и зачем они?
addBatch()/executeBatch() отправляет сотни INSERT одним пакетом вместо сотен раунд-трипов до базы — на порядки быстрее.
Транзакции JDBC 🤓 уверенно
Чем Statement отличается от PreparedStatement по производительности?
PreparedStatement компилируется базой один раз и переиспользуется с разными параметрами — плюс защита от инъекций.
Транзакции JDBC 🧐 глубоко
Как выставить уровень изоляции транзакции через JDBC?
Транзакции JDBC 🧐 глубоко
Что будет с транзакцией, если соединение вернулось в пул без commit?
Транзакции JDBC 😎 про
Как получить сгенерированный базой id после INSERT?
Транзакции JDBC 😎 про
Что такое fetchSize и как читать миллионы строк, не съев всю память?