首页 > 解决方案 > 如何从反应式 MariaDB 连接创建 JOOQ DSLContext

问题描述

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 吗?

谢谢你。

标签: mysqlspring-bootjooqreactiver2dbc

解决方案


如何为 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 年第二季度末,没有承诺),这将成为可能。在那之前,只需公开一个您从注入的手动构建@Bean的类型DSLContextConnectionFactory


推荐阅读