R2DBC
Spring Data R2DBC 模块将核心的 Spring 概念应用于使用 R2DBC 数据库驱动程序的解决方案开发中,这些驱动程序与领域驱动设计原则保持一致。我们提供了一个“模板”作为存储和查询聚合的高级抽象。
本文档是 Spring Data R2DBC 支持的参考指南。它解释了相关的概念、语义和语法。
本章指出了 JDBC 存储库支持的特殊性。这建立在 使用 Spring Data 存储库 中解释的核心存储库支持之上。你应该对其中解释的基本概念有充分的理解。
R2DBC 包含了广泛的功能:
-
支持基于 Java 的 @Configuration 类的 Spring 配置,用于 R2DBC 驱动实例。
-
R2dbcEntityTemplate 作为实体绑定操作的核心类,在通过集成对象映射在行和 POJO 之间执行常见 R2DBC 操作时提高了生产力。
-
功能丰富的对象映射与 Spring 的 Conversion Service 集成。
-
基于注解的映射元数据,可扩展以支持其他元数据格式。
-
Repository 接口的自动实现,包括对自定义查询方法的支持。
对于大多数任务,您应该使用 R2dbcEntityTemplate
或仓库支持,它们都利用了丰富的映射功能。R2dbcEntityTemplate
是查找访问功能(如即席 CRUD 操作)的地方。
章节摘要
📄️ 入门指南
一个简单的方法是,在 Spring Tools 或通过 Spring Initializr 创建一个基于 Spring 的项目,来快速搭建一个可工作的环境。
📄️ 持久化实体
R2dbcEntityTemplate 是 Spring Data R2DBC 的核心入口点。它提供了直接面向实体的方法,并为典型的即席用例(如查询、插入、更新和删除数据)提供了一个更简洁、流畅的接口。
📄️ 映射
MappingR2dbcConverter 提供了丰富的映射支持。MappingR2dbcConverter 拥有一个丰富的元数据模型,允许将领域对象映射到数据行。该映射元数据模型通过在领域对象上使用注解来填充。然而,基础设施并不局限于将注解作为元数据信息的唯一来源。MappingR2dbcConverter 还允许你通过遵循一组约定,在不提供任何额外元数据的情况下将对象映射到行。
📄️ R2DBC 存储库
本章将指出 R2DBC 的存储库支持的特殊之处。这建立在《使用 Spring Data 存储库》中解释的核心存储库支持之上。在阅读本章之前,您应该对其中解释的基本概念有扎实的理解。
📄️ 查询方法
你通常在仓库上触发的数据访问操作大多数都会导致针对数据库运行查询。定义这样的查询只需在仓库接口上声明一个方法,如下例所示:
📄️ EntityCallbacks(实体回调)
Spring Data R2DBC 使用 EntityCallback API 来支持审计功能,并对以下回调作出反应。
📄️ 审计
自 Spring Data R2DBC 1.2 起,可以通过在配置类上使用 @EnableR2dbcAuditing 注解来启用审计功能,如下例所示:
📄️ Kotlin
参考文档的这一部分解释了 Spring Data R2DBC 所提供的特定 Kotlin 功能。有关 Spring Data 提供的一般功能,请参阅 Kotlin 支持。
📄️ 迁移指南
以下部分将介绍如何迁移到新版本的 Spring Data R2DBC。