Spring Cloud Spring Cloud Spanner 寫入/更新

2024-01-11 14:55 更新

SpannerOperations的write方法接受POJO并將其所有屬性寫入Spanner。相應的Spanner表和實體元數(shù)據(jù)是從給定對象的實際類型獲得的。

如果從Spanner檢索了POJO,并且更改了其主鍵屬性值,然后寫入或更新了該POJO,則該操作將針對具有新主鍵值的行進行。具有原始主鍵值的行將不受影響。

插入

SpannerOperationsinsert方法接受POJO并將其所有屬性寫入Spanner,這意味著如果表中已經(jīng)存在帶有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的更新方法默認在給定對象內(nèi)的所有屬性上運行,但也接受列名稱的String[]Optional<Set<String>>如果一組列名稱的Optional為空,則所有列都將寫入Spanner。 但是,如果Optional被空集占用,則不會寫入任何列。

// t was retrieved from a previous operation or it's new
this.spannerTemplate.update(t, "symbol", "action");
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號