使用mybatis批量操作

2021-09-05 09:41:49 字數 1013 閱讀 7233

mysql 資料庫中使用mybatis中使用replace into和 insert into … on duplicate key update

前提條件

根據某一字段不能進行重複(存在就更新,不存在就插入資料)

將字段設定為唯一索引 uniq_[欄位名稱]

一、replace into

replace into的用法與insert很相似,最終在表中的目的是插入一行新的資料。不同的是,當插入時出現主鍵或者唯一索引衝突的時候,會刪除原有記錄,重新插入新的記錄。因此,除非表具有主鍵或者唯一索引,否則使用replace into無任何意義(更新全部的資料,沒有預設值的資料為null)

replace into table_name

(product_id,departs_date,price_value)

values

(#,#,#)

二、insert into … on duplicate key update

insert into table_name

(product_id,departs_date,price_value,)

values

(#,#,#

on duplicate key update

price_type = values(price_type),

price_value = values(price_value)

例如:

insert into table_name

(product_id,departs_date,price_value,res_id)

values

(5152760,『2016-11-13』,『101.00』,10014012) ,(5152761,『2016-11-13』,『102.00』,10014012)

on duplicate key update price_value=values(price_value);

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 關閉連線,建立和開啟資料庫連線對效能是有損失的,...