此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Relational 3.5.2spring-doc.cadn.net.cn

迁移指南

以下部分介绍如何迁移到较新版本的 Spring Data R2DBC。spring-doc.cadn.net.cn

从 1.1.x 升级到 1.2.x

Spring Data R2DBC 的开发目的是评估 R2DBC 与 Spring 应用程序的集成程度。 主要方面之一是在 R2DBC 支持被证明有用后将核心支持转移到 Spring Framework 中。 Spring Framework 5.3 附带了一个新模块:Spring R2DBC (spring-r2dbc).spring-doc.cadn.net.cn

spring-r2dbc提供核心 R2DBC 功能(DatabaseClient、事务管理器、连接工厂初始化、异常转换)最初由 Spring Data R2DBC 提供。 1.2.0 版本通过进行以下部分中概述的几项更改,与 Spring R2DBC 中提供的内容保持一致。spring-doc.cadn.net.cn

Spring R2DBC 的DatabaseClient是一个更轻量级的实现,它封装了一个纯面向 SQL 的接口。 您会注意到运行 SQL 语句的方法从DatabaseClient.execute(…)DatabaseClient.sql(…). 用于 CRUD作的 Fluent API 已移至R2dbcEntityTemplate.spring-doc.cadn.net.cn

如果通过 logger 前缀使用 SQL 语句的日志记录org.springframework.data.r2dbc,请确保将其更新为org.springframework.r2dbc(即删除.data) 指向 Spring R2DBC 组件。spring-doc.cadn.net.cn

弃用

  • 弃用o.s.d.r2dbc.core.DatabaseClient及其支持类ConnectionAccessor,FetchSpec,SqlProvider还有一些。 命名参数支持类,例如NamedParameterExpander由 Spring R2DBC 的DatabaseClient因此,我们不提供替代品,因为这首先是内部 API。 用o.s.r2dbc.core.DatabaseClient以及它们的 Spring R2DBC 替代品,可从org.springframework.r2dbc.core. 基于实体的方法 (select/insert/update/delete) 方法可通过R2dbcEntityTemplate这是在 1.1 版中引入的。spring-doc.cadn.net.cn

  • 弃用o.s.d.r2dbc.connectionfactory,o.s.d.r2dbc.connectionfactory.inito.s.d.r2dbc.connectionfactory.lookup包。 使用 Spring R2DBC 的变体,您可以在以下位置找到o.s.r2dbc.connection.spring-doc.cadn.net.cn

  • 弃用o.s.d.r2dbc.convert.ColumnMapRowMapper. 用o.s.r2dbc.core.ColumnMapRowMapper相反。spring-doc.cadn.net.cn

  • 弃用绑定支持类o.s.d.r2dbc.dialect.Bindings,BindMarker,BindMarkers,BindMarkersFactory和相关类型。 使用来自org.springframework.r2dbc.core.binding.spring-doc.cadn.net.cn

  • 弃用BadSqlGrammarException,UncategorizedR2dbcException和异常翻译o.s.d.r2dbc.support. Spring R2DBC 提供了一个没有 SPI 的精简异常转换变体,现在可以通过o.s.r2dbc.connection.ConnectionFactoryUtils#convertR2dbcException.spring-doc.cadn.net.cn

Spring R2DBC 提供的替换的使用

为了简化迁移,几种已弃用的类型现在是 Spring R2DBC 提供的替代品的子类型。 Spring Data R2DBC 更改了几种方法或引入了接受 Spring R2DBC 类型的新方法。 具体来说,更改了以下类:spring-doc.cadn.net.cn

如果您直接使用这些类型,我们建议您查看并更新您的导入。spring-doc.cadn.net.cn

重大变更

依赖项更改

要使用 Spring R2DBC,请确保包含以下依赖项:spring-doc.cadn.net.cn