迁移指南
以下部分介绍如何迁移到较新版本的 Spring Data R2DBC。
从 1.1.x 升级到 1.2.x
Spring Data R2DBC 的开发目的是评估 R2DBC 与 Spring 应用程序的集成程度。
主要方面之一是,一旦 R2DBC 支持被证明是有用的,就将核心支持转移到 Spring Framework 中。
Spring Framework 5.3 附带了一个新模块:Spring R2DBC ()。spring-r2dbc
spring-r2dbc
附带最初由 Spring Data R2DBC 提供的核心 R2DBC 功能(事务管理器、连接工厂初始化、异常转换的 Slim 变体)。
1.2.0 版本与 Spring R2DBC 中提供的内容保持一致,进行了以下各节中概述的几项更改。DatabaseClient
Spring R2DBC 是一个更轻量级的实现,它封装了一个纯面向 SQL 的接口。
您会注意到,运行 SQL 语句的方法从 更改为 。
用于 CRUD 操作的 Fluent API 已移至 .DatabaseClient
DatabaseClient.execute(…)
DatabaseClient.sql(…)
R2dbcEntityTemplate
如果您通过 logger prefix 使用SQL语句的日志记录,请确保将其更新为(即删除)以指向Spring R2DBC组件。org.springframework.data.r2dbc
org.springframework.r2dbc
.data
弃用
-
弃用 及其支持类 、 、 等等。 命名参数支持类(例如)是由 Spring R2DBC 的实现封装的,因此我们不提供替代品,因为这首先是内部 API。 使用及其 Spring R2DBC 替代品可从 获得。 基于实体的方法 (///) 方法可通过 1.1 版引入。
o.s.d.r2dbc.core.DatabaseClient
ConnectionAccessor
FetchSpec
SqlProvider
NamedParameterExpander
DatabaseClient
o.s.r2dbc.core.DatabaseClient
org.springframework.r2dbc.core
select
insert
update
delete
R2dbcEntityTemplate
-
弃用 、 和 包。 使用 Spring R2DBC 的变体,您可以在 .
o.s.d.r2dbc.connectionfactory
o.s.d.r2dbc.connectionfactory.init
o.s.d.r2dbc.connectionfactory.lookup
o.s.r2dbc.connection
-
废弃 . 请改用。
o.s.d.r2dbc.convert.ColumnMapRowMapper
o.s.r2dbc.core.ColumnMapRowMapper
-
弃用绑定支持类 、 、 和相关类型。 使用 中的 替换项。
o.s.d.r2dbc.dialect.Bindings
BindMarker
BindMarkers
BindMarkersFactory
org.springframework.r2dbc.core.binding
-
弃用 ,并在 处进行异常转换。 Spring R2DBC 提供了一个没有 SPI 的精简异常转换变体,现在可以通过 .
BadSqlGrammarException
UncategorizedR2dbcException
o.s.d.r2dbc.support
o.s.r2dbc.connection.ConnectionFactoryUtils#convertR2dbcException
使用 Spring R2DBC 提供的替换
为了简化迁移,一些已弃用的类型现在是 Spring R2DBC 提供的替代类型的子类型。 Spring Data R2DBC 更改了几种方法或引入了接受 Spring R2DBC 类型的新方法。 具体而言,更改了以下类:
-
R2dbcEntityTemplate
-
R2dbcDialect
-
类型
org.springframework.data.r2dbc.query
如果您直接使用这些类型,我们建议您查看并更新导入。