第 237 章 MyBatis Bean 组件
从 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>
默认情况下,此组件将从 classpath 的根目录加载 MyBatis SqlMapConfig 文件,其预期名称为 SqlMapConfig.xml
。
如果文件位于另一个位置,则需要在 MyBatisComponent
组件上配置 configurationUri
选项。
237.1. 选项
MyBatis Bean 组件支持 3 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
sqlSessionFactory (advanced) | 使用 SqlSessionFactory | SqlSessionFactory | |
configurationUri (producer) | MyBatis xml 配置文件的位置。默认值为:从 classpath 加载的 SqlMapConfig.xml | SqlMapConfig.xml | 字符串 |
resolveProperty Placeholders (advanced) | 组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。 | true | 布尔值 |
MyBatis Bean 端点使用 URI 语法进行配置:
mybatis-bean:beanName:methodName
使用以下路径和查询参数:
237.1.1. 路径参数(2 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
beanName | 带有 MyBatis 注解的 bean 必需 的名称。这可以通过类型别名或 FQN 类名称。 | 字符串 | |
methodName | Bean 上具有要执行的 SQL 查询方法 必需 的名称。 | 字符串 |
237.1.2. 查询参数(4 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
executorType (producer) | 执行语句时要使用的 executor 类型。simple - executor 做任何特殊操作。reuse - executor reuses prepared 语句. batch - executor reuse 语句和批处理更新。 | SIMPLE | ExecutorType |
inputHeader (producer) | 用户输入参数的标头值,而不是消息正文。默认情况下,inputHeader == null 和 input 参数从消息正文获取。如果设置了 outputHeader,则使用值,并从标头中获取查询参数,而不是正文。 | 字符串 | |
outputHeader (producer) | 将查询结果存储在标头中而不是消息正文。默认情况下,outputHeader == null,查询结果存储在消息正文中,消息正文中的任何现有内容都会被丢弃。如果设置了 outputHeader,则值将用作标头名称来存储查询结果,并保留原始消息正文。设置 outputHeader 也会省略填充默认的 CamelMyBatisResult 标头,因为它与所有时间都相同。 | 字符串 | |
同步 (高级) | 设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。 | false | 布尔值 |