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

JDBC

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

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

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

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

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

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

Базовые параметры

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

Доступен только для блоков-отправителей.

Параметр позволяет включить встроенную функциональность динамического определения вызываемоой конечной точки. При включении параметра структура блока меняется таким образом, что в коде вместо определения to проставляется toD, а значение самого вызываемого ресурса может собираться из переменной, например ${header.foo}.

FalseЛогическое значение
Patternpattern

Доступен только для блоков-отправителей.

Устанавливает стиль взаимодействия с присоединенной частью потока.

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

  • InOnly — отправить без подтверждения приемки. При выборе в отправленном yaml и в режиме просмотра кода будет виден параметр pattern на том же уровне, что и uri.

  • InОut — ждать подтверждения после отправки.

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

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

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

  • SelectList

  • SelectOne

  • StreamList

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

Расширенные параметры

Название в UIНазвание атрибута ОписаниеЗначение по умолчаниюТип данных
Lazy Start ProducerlazyStartProducer

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

Примечание:

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

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