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

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

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

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

Метод executeUpdate возвращает количество строк, полученных в результате выполнения SQL-команды, или ноль для команд, которые не возвращают количества строк. Так, в приведенном выше примере будет возвращено количество книг, цена которых снижена на 5 долларов.

Метод executeUpdate() может применяться для выполнения команд INSERT, UPDATE и DELETE, а также команд определения данных, в частности, CREATE TABLE и DROP TABLE. Но для выполнения оператора SELECT необходимо использовать другой метод, а именно — executeQuery(). Существует также универсальный метод execute(), который может применяться для выполнения произвольных операторов SQL, но он используется в основном для интерактивного создания запросов.

Если вы составляете запрос, вас, конечно же, интересуют результаты. Метод executeQuery() возвращает объект ResultSet, который можно использовать для построчного просмотра результатов:

Для анализа результирующего набора применяется приведенный ниже цикл:

Способ последовательной обработки строк в классе ResultSet организован несколько иначе, чем в интерфейсе java.util.Iterator. В классе ResultSet итератор располагается в начале работы перед первой строкой. Поэтому для перемещения его к первой строке нужно использовать метод next(). Кроме этого, в нем нет метода hasNext. Вам придется продолжать вызывать next до тех пор, пока не будет возвращено значение false.

Строки в результирующем наборе располагаются совершено произвольно. Если порядок следования важен, его необходимо установить с помощью конструкции ORDER BY.

При обработке отдельной строки нужно с помощью специальных методов поучить содержимое каждого столбца:

Для каждого типа данных языка Java предусмотрен отдельный метод извлечения информации, например, getString() и getDouble(). Для каждого из них реализованы два варианта, один из них предполагает числовой, а второй — строковый параметр. При использовании числового параметра метод извлечет данные из столбца с указанным номером. Например, метод rs,getString(1) возвратит значение из первого столбца текущей строки.

В отличие от массивов, нумерация столбцов базы данных начинается с 1.

При использовании строкового параметра метод извлечет данные из столбца с указанным именем. Например, rs.getDouble(«Price») возвратит значение из столбца с именем Price.

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

Если указанный тип не соответствует фактическому типу, метод извлечения данных выполняет преобразование. Например, rs.getString(«Price») преобразует число с плавающей точкой из столбца Price в строку.

Не знаете где скачать новый  Adobe Flash Player? Советуем вам скачать Adobe Flash Player на сайте alpinefile.ru.