mybatis批量操作

2021-09-11 13:56:29 字數 736 閱讀 1274

應用場景:今天做了乙個插入資料的小功能,將含有50個物件的集合(list)插入到資料庫。自然而然的就要到了mybatis批量插入,記得剛參加工作時,類似場景我會寫乙個for迴圈,逐條插入資料。

運算元據庫的時候會經過這樣乙個流程:建立、開啟、執行sql、關閉連線,建立和開啟資料庫連線對效能是有損失的,下面簡單地說一下批量插入和逐條插入的區別。

逐條插入會執行50個建立-關閉動作,而批處理只會做乙個建立-關閉動作,所以採用批處理的效能相對是高的;

單純來講逐條插入會建立多個事物,而批處理只會建立乙個事物。

刪除:

更新:

查詢:

專案**collection

item

必選引數。迴圈體中的物件的別名,在list和陣列中是其中的物件,在map中是value。

index

可選引數。在list和陣列中,index是元素的下標,在map中,index是元素的key。

separator

可選引數。元素之間的分隔符,例如在values(),in()的時候,separator=","會自動在元素中間用「,「隔開。

open

可選引數。foreach**的開始符號,一般是(和close=")"合用。常用在in(),values()時。

close

可選引數。foreach**的關閉符號,一般是)和open="("合用。常用在in(),values()時。

mybatis 批量操作

foreach屬性 屬性描述 item 迴圈體中的具體物件。支援屬性的點路徑訪問,如item.age,item.info.details。具體說明 在list和陣列中是其中的物件,在map中是value。該引數為必選。collection 要做foreach的物件,作為入參時,list 物件預設用l...

mybatis批量操作

查詢id在in裡面的測試 list測試 listselectidin param idlist listidlist 查詢id在in裡面的測試 map測試,就是id在乙個map中 listselectinmap param idmap hashmapidmap 修改所有id在list中的測試 int...

mybatis批量操作

應用場景 今天做了乙個插入資料的小功能,將含有50個物件的集合 list 插入到資料庫。自然而然的就要到了mybatis批量插入,記得剛參加工作時,類似場景我會寫乙個for迴圈,逐條插入資料。運算元據庫的時候會經過這樣乙個流程 建立 開啟 執行sql 關閉連線,建立和開啟資料庫連線對效能是有損失的,...