webflux支持mysql数据库_Spring Webflux 使用R2DBC 连接MySql 初探

本文介绍了如何使用Spring WebFlux和R2DBC进行响应式数据库交互,特别是针对MySQL数据库。通过引入相关依赖,配置数据库连接,创建数据模型、Repository、Service和Controller,实现了对MySQL数据库的异步非阻塞操作。示例展示了查询数据并返回Flux响应的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

响应式编程指的是数据驱动的、异步和并发的编程范式。简而言之,异步数据流编程。对于数据流进行创建、组合、过滤、转换等操作,最终得到所需要的处理和结果。具有高性能,事件驱动,充分利用计算资源,更加优雅的异步编程体验,同时它也提供了背压机制来防止系统过载。典型的框架有 RxJava、Reactor 等。

在很长一段时间 Java 的响应式只能同 MongoDB、Redis 等这些非关系型数据库进行交互。而目前我们大部分的数据还是存放在关系型数据库中,大部分情况下 Java 使用 JDBC 来操作关系型数据库,而 JDBC 是阻塞的、同步的。所以迫切需要一种支持响应式的数据库驱动协议。目前市面上有两种响应式数据库驱动协议 ADBA 和 R2DBC

R2BDC诞生是由于 Spring 官方在 Spring 5 发布了响应式 Web 框架 Spring WebFlux 之后急需能够满足异步响应的数据库交互 API 。 由于缺乏标准和驱动,Pivotal(Spring 官方) 团队开始研究反应式关系型数据库连接(Reactive Relational Database Connectivity),并提出了 R2DBC 规范 API 以评估可行性并讨论数据库厂商是否有兴趣支持反应式的异步非阻塞驱动程序。最开始只有 PostgreSQL 、H2、MSSQL 三家,现在 MySQL 也加入了进来。R2DBC 最新版本是0.8.1.RELEASE。除了驱动实现外还提供了 R2DBC 连接池 和 R2DBC 代理。除此之外还支持云原生应用。

Spring Boot 2.3.0.RELEASE之后,才正式支持基于 r2dbc 的 MySQL 驱动

创建一个Spring WebFlux使用R2DBC去操作MySQL也非常简单,前提是对WebFlux有初步的了解

导入相应依赖

org.springframework.boot

spring-boot-starter-data-r2dbc

org.springframework.boot

spring-boot-starter-webflu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值