对于最新的稳定版本,请使用 Spring Data Relational 3.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Data Relational 3.3.1Spring中文文档

以下部分介绍如何迁移到较新版本的 Spring Data R2DBC。Spring中文文档

从 1.1.x 升级到 1.2.x

Spring Data R2DBC 的开发旨在评估 R2DBC 与 Spring 应用程序的集成程度。 其中一个主要方面是,一旦R2DBC支持被证明是有用的,就将核心支持转移到Spring Framework中。 Spring Framework 5.3 附带了一个新模块:Spring R2DBC ()。spring-r2dbcSpring中文文档

spring-r2dbc提供了最初由 Spring Data R2DBC 提供的核心 R2DBC 功能(事务管理器、连接工厂初始化、异常转换的精简变体)。 1.2.0 版本通过进行以下各节中概述的几项更改,与 Spring R2DBC 中提供的内容保持一致。DatabaseClientSpring中文文档

Spring R2DBC 是一个更轻量级的实现,它封装了一个纯面向 SQL 的接口。 您会注意到,运行 SQL 语句的方法从 更改为 。 用于 CRUD 操作的 Fluent API 已移至 .DatabaseClientDatabaseClient.execute(…)DatabaseClient.sql(…)R2dbcEntityTemplateSpring中文文档

如果通过 logger 前缀使用 SQL 语句的日志记录,请确保将其更新为(即删除)以指向 Spring R2DBC 组件。org.springframework.data.r2dbcorg.springframework.r2dbc.dataSpring中文文档

弃用

  • 弃用及其支持类 、 等等。 命名参数支持类(例如)由 Spring R2DBC 的实现封装,因此我们不提供替换,因为这首先是内部 API。 使用及其 Spring R2DBC 替代品可从 . 可以使用基于实体的方法 (///) 方法,通过这些方法在 1.1 版中引入。o.s.d.r2dbc.core.DatabaseClientConnectionAccessorFetchSpecSqlProviderNamedParameterExpanderDatabaseCliento.s.r2dbc.core.DatabaseClientorg.springframework.r2dbc.coreselectinsertupdatedeleteR2dbcEntityTemplateSpring中文文档

  • 弃用 、 和 包。 使用 Spring R2DBC 的变体,您可以在 中找到。o.s.d.r2dbc.connectionfactoryo.s.d.r2dbc.connectionfactory.inito.s.d.r2dbc.connectionfactory.lookupo.s.r2dbc.connectionSpring中文文档

  • 弃用 . 请改用。o.s.d.r2dbc.convert.ColumnMapRowMappero.s.r2dbc.core.ColumnMapRowMapperSpring中文文档

  • 弃用绑定支持类 、 、 和相关类型。 使用替换项。o.s.d.r2dbc.dialect.BindingsBindMarkerBindMarkersBindMarkersFactoryorg.springframework.r2dbc.core.bindingSpring中文文档

  • 弃用 和 异常翻译 。 Spring R2DBC 提供了一个不带 SPI 的纤薄异常转换变体,现在可通过 .BadSqlGrammarExceptionUncategorizedR2dbcExceptiono.s.d.r2dbc.supporto.s.r2dbc.connection.ConnectionFactoryUtils#convertR2dbcExceptionSpring中文文档

Spring R2DBC 提供的替换件的使用

为了简化迁移,几个已弃用的类型现在是 Spring R2DBC 提供的替换的子类型。 Spring Data R2DBC 更改了几种方法或引入了接受 Spring R2DBC 类型的新方法。 具体而言,更改了以下类:Spring中文文档

如果您直接使用这些类型,我们建议您查看和更新导入。Spring中文文档

重大变更

  • OutboundRow语句映射器从 using 切换到SettableValueParameterSpring中文文档

  • 存储库工厂支持需要而不是 .o.s.r2dbc.core.DatabaseCliento.s.data.r2dbc.core.DatabaseClientSpring中文文档

依赖项更改

要使用 Spring R2DBC,请确保包含以下依赖项:Spring中文文档