Spring Cloud Spring Cloud Spanner 寫(xiě)入/更新

2024-01-11 14:55 更新

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

如果從Spanner檢索了POJO,并且更改了其主鍵屬性值,然后寫(xiě)入或更新了該P(yáng)OJO,則該操作將針對(duì)具有新主鍵值的行進(jìn)行。具有原始主鍵值的行將不受影響。

插入

SpannerOperationsinsert方法接受POJO并將其所有屬性寫(xiě)入Spanner,這意味著如果表中已經(jīng)存在帶有POJO主鍵的行,則該操作將失敗。

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

更新資料

SpannerOperationsupdate方法接受POJO并將其所有屬性寫(xiě)入Spanner,這意味著如果表中尚不存在POJO的主鍵,則該操作將失敗。

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

增補(bǔ)

SpannerOperationsupsert方法接受POJO,并使用更新或插入將其所有屬性寫(xiě)入Spanner。

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

部分更新

SpannerOperations的更新方法默認(rèn)在給定對(duì)象內(nèi)的所有屬性上運(yùn)行,但也接受列名稱(chēng)的String[]Optional<Set<String>>。如果一組列名稱(chēng)的Optional為空,則所有列都將寫(xiě)入Spanner。 但是,如果Optional被空集占用,則不會(huì)寫(xiě)入任何列。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)