Генерирование кода pureQuery из хранимых процедур

Если у хранимой процедуры есть параметры, можно сгенерировать функцию bean pureQuery, представляющую эти параметры. Если хранимая процедура возвращает наборы результатов, можно сгенерировать функцию bean pureQuery для каждого из этих наборов. Можно также сгенерировать код для использовании как стиля программирования с аннотированными методами, так и стиля со встроенными методами.

Предварительные требования:

Функции bean pureQuery полезны для передачи входных значений аннотированным или встроенным методам для вызова хранимых процедур, на которых эти функции bean основаны.

Если вы хотите использовать стиль программирования с аннотированными методами, можно выбрать для генерации следующие объекты Java:
  • Интерфейс, который содержит абстрактный аннотированный метод для вызова хранимой процедуры.

    Если вы решите генерировать этот интерфейс, инструментальная среда во время построения проекта Java сгенерирует также реализацию этого интерфейса.

  • Тестовый класс, который вызывает методы в этой реализации и выводит результаты в окне Консоль.

Если вы хотите использовать стиль программирования со встроенными методами, можно выбрать генерирование тестового класса, который содержит встроенный метод для вызова хранимой процедуры. На этом методе основаны сгенерированные функции bean pureQuery. Когда вы запускаете этот класс, результаты выводятся в окне Консоль.

Порядок действий:

Чтобы сгенерировать код pureQuery их хранимой процедуры:

  1. В проводнике баз данных щелкните правой кнопкой по нужной хранимой процедуре и выберите Генерировать код pureQuery. Откроется мастер Генерировать код pureQuery для хранимой процедуры.
  2. На первой странице этого мастера выполните следующие действия:
    1. Задайте папку в проекте Java, в которую вы хотите поместить сгенерированные файлы.
    2. Задайте пакет, в который будут включены сгенерированные файлы.
    3. Укажите, хотите ли вы генерировать код для метода с аннотациями, в стиле программирования со встроенными методами или же оба варианта кода.
    4. Если вы выбрали генерирование одного или обоих из тестовых классов, укажите, надо ли создавать тестовые наборы JUnit в них.
    5. Если вы выбрали генерирование одного или обоих из тестовых классов, укажите, надо ли включать в них информацию о соединении с базой данных. Если включить эту информацию, тестовые классы сгенерированного кода будут содержать URL источника данных и ID пользователя для соединения с этим источником данных.
    6. Если в вашем проекте Java еще не сконфигурирована поддержка pureQuery, выполните следующие действия:
      • Не обязательно: Включите переключатель Импортировать требуемые файлы JAR pureQuery в проект, если вы хотите, чтобы инструментальная среда скопировала в проект файл JAR, обеспечивающий поддержку pureQuery.

        Нет необходимости выбирать эту опцию, если вы включили этот файл в classpath для вашего проекта Java. Например, если у вас есть несколько проектов Java для pureQuery в вашем рабочем пространстве, можно выбрать включение файла JAR в classpath для каждого из проектов вместо того, чтобы импортировать этот файл в каждый проект. Чтобы включить файл JAR в classpath для вашего проекта Java, щелкните правой кнопкой мыши по проекту и выберите Свойства. В окне Свойства откройте страницу Путь построения Java. Выберите вкладку Библиотека и нажмите кнопку Добавить внешний файл JAR.

        Файл JAR называется pdq.jar и по умолчанию находится в подключаемом модуле com.ibm.pdq.tools.

      • Если вы собираетесь использовать стиль программирования с аннотированными методами, укажите каталог в вашем проекте, в который вы хотите помещать генерируемые инструментальной средой реализации интерфейса.

        Если вы планируете использовать стиль программирования со встроенными методами, инструментальная среда не использует эту папку, однако ее имя все равно надо задать. Можно оставить значение по умолчанию.

        Это поле указывает каталог в вашем проекте Java; оно не соответствует опции rootPath в генераторе pureQuery.

  3. На странице Определение функции bean для параметров мастера (она появляется, только если у хранимой процедуры есть параметры) для определения функции bean с полями, соответствующими параметрам хранимой процедуры, выполните следующие действия:
    1. Задайте, хотите ли вы сделать поля в сгенерированной функции bean общедоступными или защищенными. Если вы решили сделать поля защищенными, инструментальная среда сгенерирует методы accessor и mutator для этих полей.
    2. Измените любые из имен или типов полей, которые отображаются на параметры хранимой процедуры.
  4. На странице Определение функции bean для наборов результатов мастера для определения функции bean и полей для каждого набора результатов (если они есть) выполните следующие действия:
    1. Задайте базовое имя для функций bean. Инструментальная среда присвоит это имя первой функции bean, а для имен последующих функций будет добавлять к нему подчеркивание и число. Например, если базовое имя - MyBean, первая функция bean будет названа MyBean. Последующие функции bean будут названы MyBean_1, MyBean_2 и так далее.
    2. Задайте, хотите ли вы сделать поля в сгенерированных функциях bean общедоступными или защищенными. Если вы решили сделать поля защищенными, инструментальная среда сгенерирует методы accessor и mutator для этих полей.
    3. Нажмите кнопку Обнаружить наборы результатов. Инструментальная среда должна запустить эту хранимую процедуру, чтобы найти, сколько различных наборов результатов она возвращает и какие столбцы они содержат. После выполнения хранимой процедуры список наборов результатов появится под кнопкой. Для каждого набора результатов можно изменить любые из имен или типов полей, которые отображаются на столбцы.
  5. Нажмите кнопку Готово, чтобы сгенерировать указанные вами файлы.
Задачи, связанные с данной
Генерирование кода pureQuery из алиасов, таблиц и производных таблиц
Создание Java Emitter Templates (JET) Eclipse Modeling Framework Technologies (EMFT) для генерирования настроенного кода
Разработка программ pureQuery при помощи инструментальной среды
Информация, связанная с данной
Соединение с базой данных при помощи мастера

Отзыв