Spring Data R2DBC 入门

Spring Data R2DBC 入门
1、介绍
R2DBC(Reactive Relational Database Connectivity)是在2018年Spring One Platform大会被提出来的,它旨在使用完全无阻塞驱动程序创建数据库链接,为SQL数据库创建响应式API。为了探索R2DBC我们将创建一个简单的WebFlux应用实现目标
2、项目配置
我们通过Spring Initializr创建一个新的项目,如下图所示选择我们需要的依赖。确保Spring Boot的版本大于等于2.3.0。因为在此版本之后才开始支持MYSQL的响应式驱动

Maven依赖如下:
3、脚本准备
4、应用代码
4.1 实体对象
注意这里用的日期类型是java.time.LocalDateTime,默认不能使用java.sql.Date、java.util.Date、java.sql.Timestamp类型,否则会提示错误。默认支持的类型转换参考org.springframework.data.r2dbc.convert.R2dbcConverters类。
4.2 控制层代码
其他代码不再贴了,具体参考下面的源码部分
5、简单测试


目前只是简单的测试,后面我们做一次简单的压测,比较下非阻塞接口和同步接口的性能差异吧!
6、源码
https://github.com/cattles/fucking-great-r2dbc
版权声明: 本文为 InfoQ 作者【稻草鸟人】的原创文章。
原文链接:【http://xie.infoq.cn/article/1212a0777fd499a1c5e0a01ad】。文章转载请联系作者。
评论