第236章 MyBatis Bean Component
Camel バージョン 2.22 以降で利用可能
mybatis-bean: コンポーネントを使用すると、MyBatis Bean アノテーションを使用して、リレーショナルデータベース内のデータをクエリー、挿入、更新、および削除できます。
このコンポーネントはプロデューサーとして のみ 使用できます。MyBatis から使用する場合は、通常の mybatis コンポーネントを使用してください。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-mybatis</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
このコンポーネントはデフォルトで、期待される名前 SqlMapConfig.xml
でクラスパスのルートから MyBatis SqlMapConfig ファイルをロードします。
ファイルが別のロケーションにある場合は、MyBatisComponent
コンポーネントで configurationUri
オプションを設定する必要があります。
236.1. オプション
MyBatis Bean コンポーネントは、以下に示す 3 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
sqlSessionFactory (advanced) | SqlSessionFactory を使用する場合。 | SqlSessionFactory | |
configurationUri (producer) | MyBatis xml 設定ファイルのロケーション。デフォルト値は次のとおりです。クラスパスからロードされた SqlMapConfig.xml | SqlMapConfig.xml | String |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
MyBatis Bean エンドポイントは、URI 構文を使用して設定されます。
mybatis-bean:beanName:methodName
パスおよびクエリーパラメーターを使用します。
236.1.1. パスパラメーター (2 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
beanName | 必須 MyBatis アノテーションを持つ Bean の名前。これは、タイプエイリアスまたは FQN クラス名のいずれかで指定できます。 | String | |
methodName | 必須 実行する SQL クエリーを持つ Bean のメソッドの名前。 | String |
236.1.2. クエリーパラメーター (4 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
executorType (producer) | ステートメントの実行中に使用されるエグゼキュータのタイプ。simple - エグゼキュータは特別なことは何もしません。reuse - エグゼキュータは準備済みステートメントを再利用します。batch - エグゼキュータはステートメントを再利用し、更新をバッチ処理します。 | SIMPLE | ExecutorType |
inputHeader (producer) | メッセージボディーの代わりに、入力パラメーターのヘッダー値を使用します。デフォルトでは、inputHeader == null であり、入力パラメーターはメッセージボディーから取得されます。outputHeader が設定されている場合、値が使用され、クエリーパラメーターはボディーではなくヘッダーから取得されます。 | String | |
outputHeader (producer) | メッセージ本文ではなく、ヘッダーにクエリー結果を格納します。デフォルトでは、outputHeader == null で、クエリー結果はメッセージ本文に格納され、メッセージ本文の既存のコンテンツは破棄されます。outputHeader が設定されている場合、値はクエリー結果を格納するヘッダーの名前として使用され、元のメッセージ本文は保持されます。outputHeader を設定すると、常に outputHeader と同じになるため、デフォルトの CamelMyBatisResult ヘッダーへの入力も省略されます。 | String | |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |