2.112. SQL
执行 SQL 查询。
2.112.1. 什么是内部 复制链接链接已复制到粘贴板!
-
SQL 组件, URI 语法:
sql:query -
SQL Stored procedure 组件, URI 语法:
sql-stored:template
有关用法和配置详情,请参阅上述链接。
2.112.2. Maven 协调 复制链接链接已复制到粘贴板!
在 code.quarkus.redhat.com 上使用此扩展创建新项目
或者将协调添加到现有项目中:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-sql</artifactId>
</dependency>
2.112.3. 其他 Camel Quarkus 配置 复制链接链接已复制到粘贴板!
2.112.3.1. 配置数据源 复制链接链接已复制到粘贴板!
此扩展利用了 DataSource 支持的 Quarkus Agroal。设置 数据源 可以通过配置属性来实现。
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=your-username
quarkus.datasource.password=your-password
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/your-database
quarkus.datasource.jdbc.max-size=16
Camel SQL 组件将自动从 registry 解析 DataSource bean。在配置多个数据源时,您可以指定通过 URI 选项 datasource 或 dataSourceRef 在 SQL 端点上使用哪个选项。如需更多详细信息,请参阅 SQL 组件文档。
2.112.3.1.1. 带有 Quarkus Dev Services 的零配置 复制链接链接已复制到粘贴板!
在 dev 和 test 模式中,您可以利用 配置自由数据库。Camel SQL 组件将自动配置为使用 DataSource,指向与您选择的 JDBC 驱动程序类型匹配的数据库的本地容器化实例。
2.112.3.2. SQL 脚本 复制链接链接已复制到粘贴板!
当将 sql 或 sql-stored 端点配置为引用 classpath 中的脚本文件时,请设置以下配置属性,以确保它们以原生模式可用。
quarkus.native.resources.includes = queries.sql, sql/*.sql
2.112.3.3. 原生模式的 SQL 聚合存储库 复制链接链接已复制到粘贴板!
要在原生模式中使用 JdbcAggregationRepository 等 SQL 聚合存储库,您必须启用原生序列化支持。
此外,如果您的交换正文是自定义类型,必须通过使用 @RegisterForReflection (serialization = true) 注解其类声明来注册它们。