應用場景:今天做了乙個插入資料的小功能,將含有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 關閉連線,建立和開啟資料庫連線對效能是有損失的,...