Spring Cloud Spring Cloud Spanner 写入/更新

2024-01-11 14:55 更新

SpannerOperations的write方法接受POJO并将其所有属性写入Spanner。相应的Spanner表和实体元数据是从给定对象的实际类型获得的。

如果从Spanner检索了POJO,并且更改了其主键属性值,然后写入或更新了该POJO,则该操作将针对具有新主键值的行进行。具有原始主键值的行将不受影响。

插入

SpannerOperationsinsert方法接受POJO并将其所有属性写入Spanner,这意味着如果表中已经存在带有POJO主键的行,则该操作将失败。

Trade t = new Trade();
this.spannerTemplate.insert(t);

更新资料

SpannerOperationsupdate方法接受POJO并将其所有属性写入Spanner,这意味着如果表中尚不存在POJO的主键,则该操作将失败。

// t was retrieved from a previous operation
this.spannerTemplate.update(t);

增补

SpannerOperationsupsert方法接受POJO,并使用更新或插入将其所有属性写入Spanner。

// t was retrieved from a previous operation or it's new
this.spannerTemplate.upsert(t);

部分更新

SpannerOperations的更新方法默认在给定对象内的所有属性上运行,但也接受列名称的String[]Optional<Set<String>>如果一组列名称的Optional为空,则所有列都将写入Spanner。 但是,如果Optional被空集占用,则不会写入任何列。

// t was retrieved from a previous operation or it's new
this.spannerTemplate.update(t, "symbol", "action");
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号