Spring Boot整合WebFlux + R2DBC+Mysql

本文介绍了如何在Spring Boot应用中整合WebFlux和R2DBC来连接Mysql数据库。内容包括R2DBC的反应式非阻塞API特性,项目所需的maven依赖,Spring Boot配置,以及基于WebFlux的简单增删改查操作的代码示例。在高并发场景下,R2DBC和WebFlux组合提供了更好的性能表现。

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

Spring Boot整合WebFlux + R2DBC+Mysql

1、R2DBC介绍

R2DBC 基于 Reactive Streams 反应流规范,它是一个开放的规范,为驱动程序供应商和使用方提供接口( r2dbc-spi ),与 JDBC 的阻塞特性不同,它提供了完全反应式的非阻塞 API 与 关系型数据库 交互。 简单说, R2DBC 项目是支持使用反应式编程 API 访问关系型数据库的桥梁,定义统一接口规范,不同数据库厂家通过实现该规范提供驱动程序包。 同时, r2dbc 还提供反应式连接池r2dbc-pool
具体了解可以参考下面连接:
https://cloud.tencent.com/developer/article/1741470

2、maven依赖
<!- 使用webFlux可以不需要在加载spring web依赖 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<optional>true</optional>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-r2dbc</artifactId>
</dependency>
<dependency>
	<groupId>dev.miku</groupId>
	<artifactId>r2dbc-mysql</artifactId>
</dependency>
3、Spring Boot配置
spring:
  r2dbc:
#	使用serverTimezone在控制台打印时间会出现乱码情况但不影响程序运行,翻阅资料之后换成serverZoneId可以解决这种问题。
#   url: r2dbc:mysql://localhost:3306/数据库?serverTimezone=GMT%2b8&characterEncoding=UTF-8
    url: r2dbc:mysql://localhost:3306/数据库?serverZoneId=GMT%2b8&characterEncoding=UTF-8
    username: #用户名
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值