【问题标题】:How do I create JOOQ DSLContext from reactive MariaDB connection如何从反应式 MariaDB 连接创建 JOOQ DSLContext
【发布时间】:2021-07-22 23:53:55
【问题描述】:
JOOQ 手册规定如下:
开箱即用,所有 jOOQ 提供的发布者都会在
底层 JDBC 连接,但如果您为 jOOQ 提供
io.r2dbc.spi.Connection 或 io.r2dbc.spi.ConnectionFactory,然后
发布者将在 R2DBC 上以非阻塞方式执行查询
司机。
如何为 DSLContext 提供 io.r2dbc.spi.Connection 或 io.r2dbc.spi.ConnectionFactory ?
我试过 DSL.using() 但它不接受这个接口。
另外 - 我可以通过 Spring Boot 使用响应式驱动程序定义 DSLContext 吗?
谢谢。
【问题讨论】:
标签:
mysql
spring-boot
jooq
reactive
r2dbc
【解决方案1】:
如何为 DSLContext 提供 io.r2dbc.spi.Connection 或 io.r2dbc.spi.ConnectionFactory ?
在提出这个问题时,jOOQ 3.14 还不支持 R2DBC。使用 jOOQ 3.15,你可以这样写:
DSLContext ctx1 = DSL.using(connection);
DSLContext ctx2 = DSL.using(connectionFactory);
就像 JDBC 连接一样。
另外 - 我可以通过 Spring Boot 使用响应式驱动程序定义 DSLContext 吗?
我怀疑一旦 jOOQ 3.15 发布(~ 2021 年第二季度末,没有承诺),这将成为可能。在那之前,只需公开一个 DSLContext 类型的 @Bean,您可以从注入的 ConnectionFactory 手动构建它