Перейти к основному содержимому
Начало работы
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя

JDBC

Общее описание

Компонент JDBC позволяет получать доступ к базам данных через JDBC, где SQL-запросы (SELECT) и операции (INSERT, UPDATE и т.д.) отправляются в теле сообщения.

Блок JDBC может использоваться в качестве:

  • Блока отправителя.

Настройка блока

В данном разделе описаны параметры блока JDBC, которые необходимо заполнить при настройке.

Базовые параметры блока JDBC

Название в UI (имя атрибута в коде)ОбязательныйОписаниеЗначение по умолчаниюТип данных
ConnectionЭтот параметр позволяет выбрать предсозданное подключение к БД или создать новое с помощью визарда Connection Manager.Список
Allow Named ParametersОпределяет следует ли разрешать использование именованных параметров в запросах.TrueЛогическое значение
Output ClassЗадает полный пакет и имя класса для использования в качестве преобразования, если значение параметра Output Type – SelectOne или SelectList.Строка
Output Type

Определяет выходные данные, которые должен использовать производитель.

Возможные значения

  • SelectList

  • SelectOne

  • StreamList

SelectListСписок
ParametersНеобязательные параметры для интерфейса java.sql.Statement. Например, для установки maxRows, FetchSize и т.д.Строка
Read SizeМаксимальное количество строк по умолчанию, которое может быть прочитано с помощью запроса.Строка
Reset Auto CommitЕсли значение Reset Auto Commit равно True, система установит значение autoCommit для соединения JDBC равным False, подтвердит изменение после выполнения statement и сбросит значение autoCommit для соединения в конце. Если соединение JDBC не поддерживает сброс autoCommit, вы можете установить для Reset Auto Commit значение False, и система не будет пытаться сбросить autoCommit. При использовании с транзакциями XA (extended architecture) вам, скорее всего, потребуется установить для него значение False, чтобы менеджер транзакций реализовал транзакцию tx.TrueЛогическое значение
TransactedОпределяет применяются ли транзакции.FalseЛогическое значение
Use Get Bytes For BlobДля чтения столбцов больших двоичных объектов (BLOB – Binary Large Object) в виде байтов вместо строковых данных. Это может потребоваться для некоторых баз данных, таких как Oracle, где вы должны считывать столбцы больших двоичных объектов в виде байтов.FalseЛогическое значение
Use Headers As ParametersЕсли значение этого параметра True, то будет применяться стратегия prepareStatementStrategy с именованными параметрами. Это позволяет определять запросы с именованными заполнителями и использовать заголовки с динамическими значениями для заполнителей запросов.FalseЛогическое значение
Use JDBC4 Column Name And Label SemanticsОпределяет, будет ли использоваться семантика JDBC 4 или JDBC 3.0 или более старые версии при получении имени столбца. В JDBC 4.0 для получения имени столбца используется columnLabel, в то время как в JDBC 3.0 используются как ColumnName, так и columnLabel. Драйверы JDBC разных версий ведут себя по-разному, поэтому вы можете использовать этот параметр для устранения проблем с вашим драйвером JDBC.TrueЛогическое значение

Расширенные параметры блока JDBC

Название в UI (имя атрибута в коде)ОбязательныйОписаниеЗначение по умолчаниюТип данных
Lazy Start Producer

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

Примечание:

При обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки.

FalseЛогическое значение
Bean Row MapperПозволяет определить пользовательский org.apache.camel.component.jdbc.BeanRowMapper при сконфигурированном параметре Output Class. В реализации по умолчанию имена строк записываются строчными буквами и пропускаются символы подчеркивания и тире. Например, CUST_ID отображается как CustID.Строка
Connection StrategyПозволяет определить пользовательскую стратегию для работы с подключениями.Строка
Prepare Statement StrategyПозволяет плагину использовать пользовательскую стратегию org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy для управления подготовкой запроса и подготовленной инструкции.Строка