spring data mongodb的批量更新

2021-09-14 00:51:44 字數 1051 閱讀 6345

最近公司在做專案的時候用到mongo資料庫 因為資料量比較大,所以需要優化的地方比較多,其中批量更新花了我很多的時間 特記錄一下 備忘!

這裡我用到spring-data-mongodb的版本是 2.0.7 

spring的版本是5.0.7  這裡需要注意下 spring 5才能和spring-data-mongodb 2相容 

還有個需要注意的地方是 spring5和log4j的2版本相容 和1已經不相容了

spring-data-mongodb 1版本在網上有很多的批量更新方法 我這裡就不贅述了

spring-data-mongdb 1版本的批量更新

廢話不多說 上**

首先獲得組裝list>

@override

public int batchupdate(listfrankpos) throws illegalacces***ception

document query = new document(mac ,frankpo.getmac());

mapobjectmap = objectreflectionutil.getobjectmap(frankpo);

// 更新語句 比如:

document update = new document();

for (map.entryentry : objectmap.entryset())

// 這裡update需要再次包裝 包裝後形成語句} systemconstant.mongo_set = "$set"

updates.add(new updatemanymodel(query,new document(systemconstant.mongo_set,update),uo));

}return super.batchupdates(updates);

}

然後去dao執行sql

protected int batchupdates(list> updates)
至此,批量更新也就結束了 其實這也就是我們自己去組裝sql執行的方式

Mysql update join 單錶批量更新

mysql 的批量插入比較便利,批量更新就有點難受了。這裡記錄一下,使用update join 對mysql單錶的批量更新操作。更具表中content id和outeach id字段改變sort的值,不要問為啥不用id,業務需要。如下圖。有一招update join update 表a a join...

MySQL 避免重複資料的批量插入與批量更新

我們在向資料庫裡批量插入資料的時候,會遇到要將原有主鍵或者unique索引所在記錄更新的情況,而如果沒有主鍵或者unique索引衝突的時候,直接執行插入操作。這種情況下,有三種方式執行 直接每條select,判斷,然後insert,毫無疑問,這是最笨的方法了,不斷的查詢判斷,有主鍵或索引衝突,執行u...

Oracle根據符合條件的資料迴圈批量更新

批量對符合條件的表記錄進行更新 aa代表查詢出的符合條件資料的別名 aa後的表示需要符合的條件 loop後開始寫更新操作 單錶更新隨機數 批量對符合條件的表記錄進行更新 aa代表查詢出的符合條件資料的別名 aa後的表示需要符合的條件 loop後開始寫更新操作 多個表匹配 更新到另乙個表中 begin...