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