【问题标题】:Spring boot reactive (Webflux) with MySql使用 MySql 的 Spring Boot 反应式(Webflux)
【发布时间】:2019-04-12 00:59:17
【问题描述】:

我将开发一个符合新功能 Webflux 的 Spring Boot 应用程序。 Mysql 的驱动 JDBC 是否存在?

我只找到了一些 NoSql DB(例如 MongoDB)的驱动程序。

你能帮帮我吗? 谢谢,问候。

更新:

在R2DBC项目的官方网站上有驱动列表:https://r2dbc.io/

【问题讨论】:

    标签: java spring spring-boot spring-webflux reactive


    【解决方案1】:

    实际上没有任何对关系数据库的响应式支持。但自从 Spring Data 团队致力于 R2DBC 以来,时间不长,它将提供从关系数据库中响应式访问数据的能力。敬请关注:https://github.com/r2dbc

    编辑

    第一个版本已经发布,更多详情请看这里:https://github.com/r2dbc/r2dbc-postgresql/tags

    【讨论】:

    • 2021年了,我还在等MySQL的支持 :(我查了github账号还没有找到。(不过在Spring网站上,他们说r2dbc已经支持MSSQL、Prosgre和MySQL了,好奇怪)。
    【解决方案2】:

    存在一个用于 MySQL 的异步驱动程序,名为 jasync-sql

    https://github.com/jasync-sql/jasync-sql

    【讨论】:

      【解决方案3】:

      不,MySQl 没有响应式驱动程序。 Postgres 有一个:

      https://github.com/r2dbc/r2dbc-client

      它使用来自项目负责人的所有反应位(集合作为通量返回)。当然,您又回到了使用准备好的语句。并直接从 Serch 结果中提取数据。

      还有一个用于 oracle DB 的:

      https://github.com/oracle/oracle-db-examples/tree/master/java/AoJ

      但是它使用了阻塞的 JDBC 调用并且只隐藏了线程池后面的问题。然而,它代表了甲骨文目前为解决这个问题所做的努力。这不是一件小事,因为在使用一致状态的关系数据库时有一定的哲学。这就是为什么你的查询结果是一次全部返回的原因,不像 mongodb 可以在它进来时返回结果。

      因此,任何 ORM(hibernate、eclipselink)工具都无处可去。 我认为对于生产代码,我们现在被阻塞调用所困。

      【讨论】:

        猜你喜欢
        • 2020-04-05
        • 2018-06-24
        • 2019-01-05
        • 1970-01-01
        • 2018-02-08
        • 2021-11-18
        • 2021-08-11
        • 2020-04-29
        • 2020-12-23
        相关资源
        最近更新 更多