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 | Список | |
| 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 для управления подготовкой запроса и подготовленной инструкции. | Строка |