Множественные результаты SQL запроса Java

Множественные результаты SQL запроса JavaЗапрос может вернуть множественные результаты. Это может произойти при выполнении хранимой процедуры или в базах данных, которые позволяют также выполнение множества операторов SELECT в одном запросе. Ниже показано, как можно получить все множественные наборы: Читать

Регистрация класса драйвера Java

Регистрация класса драйвера JavaНекоторые JAR-файлы JDBC(например, драйвер Derby, входящий в состав Java SE 6) автоматически регистрируют класс драйвера. JAR-файл может автоматически зарегистрировать класс драйвера, если он содержит файл: Читать

Наборы строк(Row Set) в языке Java

Наборы строк(Row Set) в языке JavaПрокручиваемые результирующие наборы предлагают богатые возможности, однако они не свободны от недостатков. В течении всего времени взаимодействия с пользователем соединения с базой данных должно быть открыто. Однако пользователь может отлучиться на длительное время, а открытое соединение будет потреблять ресурсы.

В подобной ситуации целесообразно использовать набор строк(row set). Интерфейс RowSet расширяет интерфейс ResultSet, но набор строк не привязан к соединению с базой данных.

Наборы строк также применяемы в случае, если требуется переместить результаты выполнения запроса на другой уровень сложного приложения или на другое устройство, например, на мобильный телефон. Переместить результирующий набор нельзя, так как он связан с соединением, кроме того, размеры структуры данных могут быть очень велики. Читать

Типы JDBC-драйверов Java

Типы JDBC-драйверов JavaКаждый JDBC-драйвер принадлежит одному из перечисленных ниже типов.

  • Драйвер типа 1. Транслирует JDBC в ODBC и для взаимодействия с базой данных использует драйвер ODBC. Компания Sun включила в состав JDK один такой драйвер — мост JDBC/ODBC. Однако для его использования требуется соответствующим образом установить и конфигурировать ODBC-драйвер. В первом выпуске JDBC этот мост предполагалось использовать только для тестирования, а не для рабочего применения. В настоящее время уже имеется большое количество более удачных драйверов.
  • Драйвер типа 2. Создается преимущественно на языке Java и частично на собственном языке программирования, который используется для взаимодействия с клиентским API базы данных. Для использования такого драйвера нужно помимо библиотеки Java установить специфический для данной платформы код. Читать

Синтаксис перехода в SQL Java

Синтаксис перехода в SQL JavaСинтаксис «перехода»(escape syntax) поддерживает средства, которые обычно поддерживаются базами данных, но в разных вариантах, в зависимости от конкретного синтаксиса базы данных. Драйвер JDBC отвечает ща преобразование синтаксиса перехода в синтаксис конкретной базы данных.

Переходы предусмотрены для следующих средств:

  • литералы времени и даты;
  • вызов скалярных функций;
  • вызов хранимых процедур;
  • внешние соединения;
  • символ перехода в операциях LIKE. Читать

Получение автоматически генерируемых ключей SQL Java

Получение автоматически генерируемых ключей SQL JavaБольшинство баз данных поддерживают механизм автоматической нумерации строк в базе данных. К сожалению, у разных поставщиков эти механизмы существенно отличаются. Эти автоматические номера часто используются в качестве первичных ключей.

Несмотря на то что JDBC не предлагает решения, независимого от поставщиков, для генерирования этих ключей, она предлагает эффективный способ их получения. Когда вы вставляете новую строку в таблицу, и когда происходит автоматическая генерация ключа, вы можете получить их с помощью следующего кода: Читать

Расширенные типы данных в языке SQL

Расширенные типы данных в языке SQLТип ARRAY языка SQL представляет собой последовательность значений. Например, таблица Student может иметь столбец с оценками Scores типа ARRAY OF INTEGER, то есть с массивом целочисленных значений. Для возвращения данных типа java.sql.Array используется метод getArray(). В интерфейсе java.sql.Array также предусмотрены методы извлечения значений массива. Читать

Выполнение операторов SQL Java

Выполнение операторов SQL JavaДля выполнения оператора SQL нужно создать объект Statement. Для этой цели используется объект Connection, который можно получить, вызвав метод DriverManager.getConnection():

Затем потребуется создать строку с требуемой SQL-командой:

Далее необходимо вызвать метод executeUpdate() класса Statement: Читать

SQL исключения Java

SQL исключения JavaКаждое SQL-исключение имеет цепочку объектов SQLException, которые извлекаются посредством метода getNextException. Эта цепочка исключений является дополнением цепочки «cause» объектов Throwable, имеющихся в каждом исключении. Чтобы полностью перечислить все исключения, может потребоваться два вложенных цикла.К счастью, в Java SE 6 был усовершенствован класс SQLException для реализации интерфейса Iterable<Throwable>.

Метод iterator() дает Iterator<Throwable>, который осуществляет перебор в обеих цепочках, сначала проходя по цепочке «cause» первого SQLException, а затем переходя к следующему SQLException и т.д. Вы можете просто использовать улучшенный цикл for: Читать