Руководство по JDBC

Добро пожаловать в учебник по JDBC. Java DataBase Connectivity (JDBC) – один из самых широко используемых API в предприятий. Это связано с тем, что большинство приложений используют какое-то средство подключения к базе данных. Недавно я опубликовал много учебных пособий по JDBC, касающихся основ JDBC, источника данных и его интеграции с фреймворком Spring.

Учебник по JDBC

Это индексный пост для всех учебников JDBC, которые я ранее опубликовал. Если вы новичок в JDBC, то вам следует ознакомиться с этими учебниками по порядку для лучшего понимания.

  1. Пример JDBC API JDBC помогает нам писать код с слабой связанностью от драйверов базы данных. В этой статье объясняется о различных типах драйверов базы данных, которые у нас есть, и какой из них самый часто используемый и почему. Это хороший пост для начала изучения подключения к базе данных, операторов и результирующих наборов. Эта статья также показывает, как писать программы JDBC, чтобы сохранить их с низкой связанностью от драйверов базы данных, что облегчает переключение с одного сервера базы данных на другой всего лишь с изменением конфигурации.
  2. JDBC Statement против PreparedStatement JDBC API предоставляет два способа взаимодействия с базой данных – Statement и PreparedStatement. Statement легко использовать, но это может привести к SQL-инъекциям, которые являются распространенным способом взлома любого приложения. В этой статье четко показано, как выполняется SQL-инъекция с использованием SQL-выражений, и почему мы должны использовать PreparedStatement, чтобы избежать атак SQL-инъекций. Статья также подробно рассматривает некоторые основные преимущества использования PreparedStatement перед Statement, такие как кэширование, объектно-ориентированное программирование и создание элегантного кода.
  3. Альтернативы для IN-клаузу в JDBC PreparedStatement Поскольку JDBC PreparedStatement предварительно компилируется, мы не можем использовать его с IN-клаузой. Вместо возвращения к Statement, существуют некоторые альтернативные подходы, которые мы можем использовать, чтобы преодолеть это ограничение Prepared Statement. В этой статье представлены четыре различных альтернативных подхода, которые мы можем использовать для поддержки IN-клаузы с подготовленными выражениями. Рекомендуется ознакомиться, потому что никогда не знаешь, когда это может понадобиться, и это один из самых часто задаваемых вопросов на собеседованиях по JDBC.
  4. Обработка пакетов JDBC Если вы работаете с большим объемом данных и должны выполнить много запросов, это не лучшая идея делать это по одному. JDBC предоставляет поддержку пакетной обработки, которая будет намного быстрее, чем обработка отдельных запросов поочередно. В этой статье показано, как писать программы для пакетной обработки. Она также подробно рассматривает, что делать, если один из запросов в пакете вызывает исключение.
  5. Пример использования JDBC CallableStatement Мы можем использовать API JDBC CallableStatement для выполнения хранимых процедур. Oracle Database предоставляет курсоры и объекты базы данных, которые мы можем использовать в параметрах хранимых процедур IN/OUT. В этом учебнике предоставлены конкретные детали с примерами программ.
  6. Пример JDBC DataSource В большинстве случаев нам нужно больше, чем просто подключение к базе данных. Создание подключения – трудоемкий процесс, и не рекомендуется позволять каждой части программы создавать свое собственное подключение. Это может привести к истощению ресурсов и замедлению работы. Поэтому в большинстве предприятий применяется пул подключений. Большинство драйверов баз данных предоставляют классы реализации DataSource, которые можно использовать в пуле подключений. В этом руководстве приведен пример использования DataSource для MySQL и Oracle, а также описан Apache DBCP, который действует как оболочка вокруг различных реализаций DataSource для достижения слабой связанности.
  7. Управление транзакциями в JDBC Управление транзакциями важно, когда у нас есть группа запросов для выполнения, и мы хотим удостовериться, что либо все они выполняются, либо ни один. Мы можем установить автоматический коммит соединения в false для управления транзакциями. Если все проходит успешно, мы можем подтвердить транзакцию, или, если возникают исключения, откатить всю транзакцию. Также рассматривается Savepoint, который мы можем использовать для отката к определенной точке в транзакции. Можно представлять себе Savepoint как вехи в транзакции.
  8. Пример источника данных JNDI в Tomcat Большинство контейнеров сервлетов поддерживают ресурсы JNDI для источников данных, которые мы можем использовать для переноса задач управления транзакциями и пулами соединений на контейнер. В этой статье объясняется различные способы настройки источника данных в сервере Apache Tomcat и использование контекстного поиска JNDI для получения источника данных и работы с ним.
  9. Пример JDBC и JdbcTemplate в Spring В этой статье предоставляются подробности интеграции JDBC с фреймворком Spring. Мы можем либо использовать стандартный API JDBC, либо получить преимущества Spring JdbcTemplate, который помогает нам избавиться от всего шаблонного кода, связанного с JDBC, например открытие/закрытие соединения, оператор, наборы результатов и т. д.
  10. Управление транзакциями в Spring Spring предоставляет встроенную поддержку управления транзакциями. Управление транзакциями – это поперечные вопросы, и подход Spring AOP с декларативным управлением транзакциями очень прост и элегантен в использовании. Пример проекта, объясняющий различные аспекты управления транзакциями в фреймворке Spring для операций JDBC.
  11. Пример источника данных JNDI в Spring Фреймворк Spring очень популярен, потому что он предоставляет решение на основе конфигурации для большинства общих задач. Вот почему Spring предоставляет простые конфигурации для поиска контекста JNDI и получения источника данных, определенного контейнером сервлетов. Учебное пособие с примером проекта Spring MVC покажет вам, как легко это сделать.
  12. Пример интеграции JDBC в JSF JSF является одним из самых широко используемых компонентных фреймворков. Это учебное пособие объясняет, как мы можем интегрировать JDBC API с фреймворком JSF.
  13. Вопросы и ответы на собеседование по JDBC Сборник из 40 вопросов, связанных с JDBC, с подробными ответами, чтобы помочь вам на собеседованиях по Java в разных видах вопросов о JDBC.

I will be adding more posts in JDBC tutorial, so please bookmark the post for future reference too.

Source:
https://www.digitalocean.com/community/tutorials/jdbc-tutorial