Spring认证中国教育管理中心-Spring Data R2DBC框架教程二

原标题:Spring认证中国教育管理中心-Spring Data R2DBC框架教程二(Spring中国教育管理中心

13.4.R2dbcEntityOperations 数据访问 API

R2dbcEntityTemplate是 Spring Data R2DBC 的中心入口点。它为典型的临时用例(例如查询、插入、更新和删除数据)提供了直接面向实体的方法和更窄、更流畅的接口。

入口点(insert()、select()、update()和其他)遵循基于要运行的操作的自然命名模式。从入口点开始,API 旨在仅提供依赖于上下文的方法,这些方法导致创建和运行 SQL 语句的终止方法。Spring Data R2DBC 使用R2dbcDialect抽象来确定绑定标记、分页支持和底层驱动程序本机支持的数据类型。

所有终端方法总是返回一个Publisher代表所需操作的类型。实际语句在订阅时发送到数据库。

13.4.1.插入和更新实体的方法

有几种方便的方法可R2dbcEntityTemplate用于保存和插入对象。为了对转换过程进行更细粒度的控制,您可以注册 Spring 转换器R2dbcCustomConversions ——例如Converter<Person, OutboundRow>和Converter<Row, Person>。

使用保存操作的简单情况是保存一个 POJO。在这种情况下,表名由类的名称(非完全限定)确定。您还可以使用特定的集合名称调用保存操作。您可以使用映射元数据来覆盖存储对象的集合。

插入或保存时,如果Id未设置该属性,则假设其值将由数据库自动生成。因此,对于自动生成,类中的Id属性或字段的类型必须是Long, 或Integer。

以下示例显示了如何插入一行并检索其内容:

示例 55. 使用 R2dbcEntityTemplate

Person person = new Person("John", "Doe");

Mono<Person> saved = template.insert(person);
Mono<Person> loaded = template.selectOne(query(where("firstname").is("John")),
    Person.class);

以下插入和更新操作可用:

也可以使用一组类似的插入操作:

  • Mono<T> insert (T objectToSave):将对象插入到默认表中。
  • Mono<T> 更新 (T objectToSave):将对象插入到默认表中。

可以使用 fluent API 自定义表名。

13.4.2.选择数据

的select(…)和selectOne(…)在方法R2dbcEntityTemplate被用来从表中选择的数据。这两种方法都采用一个Query定义字段投影、WHERE子句、ORDER BY子句和限制/偏移分页的对象。无论底层数据库如何,限制/偏移功能对应用程序都是透明的。R2dbcDialect抽象支持此功能以迎合各个 SQL 风格之间的差异。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技能咖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值