mybatis實現批量新增,修改,刪除?
背景: 基礎的操作往往經常用到,時常會除錯,為了以後使用方便,特此紀要.
說明: 主要是對foreach,trim等標籤的應用.(是完成上述操作的重心.)
問題: mybatis如何實現sql處理批量新增,修改,刪除?
前情提要:首先了解一下foreach和trim都有那些屬性,以方便對其更好的操作.
: collection: 集合的型別或傳遞過來的集合例項名.
(陣列:array,list:list,map:map,自己定義的物件:物件例項名)
open: open表示拼接的內容以什麼內容開始,是最外層的巢狀.
close: close表示拼接的內容以什麼內容結束,也是最外層的巢狀.
separator: separator表示什麼內容作為間隔或分割拼接的資料.
index: index在list和陣列中表示陣列的下標,在map中表示map的key.(可以省略)
item:
item的內容如果是list arr陣列,此時的item是陣列中的內容.
: prefix: prefix表示拼接的內容以什麼內容開始.("prefix"表示字首)
suffix: suffix表示拼接的內容以什麼內容結束.("suffix"表示字尾)
prefixoverrides: prefixoverrides表示去除sql之前的指定內容.
suffixoverrides: suffixoverrides表示去除sql之後的指定內容. (suffixoverrides表示在...之後進行處理)
解決辦法:
// 批量修改.public int batchedit(setidsset, string starttime, string endtime);
update table
set start_time = #,
end_time = #
where platform_id in
#// 批量新增.
public int batchadd(setidsset, string starttime, string endtime);
insert into table
start_time,
end_time,
xx_id
values
#,#,#,
// 批量刪除.
public int deletebyids(long ids);
delete from be_platform where id in
#// selectbyids.
public listselectbyids(long ids, string status);
where id in
#and status = #
Mybatis SQL語句批量操作與多級快取
首先在資料庫中寫出批量插入的sql語句,然後查詢重複的資料,再思考拼接過程。第一種通過別名實現表的同一,從而合併成一張表 插入資料 第一種用select dual 空表 再用集合 union all 合併 insert into dept select 60 deptno,科創部 dname,南昌 ...
利用CSVDE命令實現域使用者賬戶的批量新增示例
以下內容摘自筆者編著的最新圖書 網管員必讀 網路管理 第2版 一書。2.4.5節第3小點 利用csvde命令實現域使用者賬戶的批量新增示例 現用記事本程式製作為hellen lycb linda cathy這四個使用者在grfwg.local域下的sales組織單位中批量新增的csv格式檔案。所新增...
利用CSVDE命令實現域使用者賬戶的批量新增示例
以下內容摘自筆者編著的最新圖書 網管員必讀 網路管理 第2版 一書。2.4.5節第3小點 利用csvde命令實現域使用者賬戶的批量新增示例 現用記事本程式製作為 hellen lycb linda cathy 這四個使用者在 grfwg.local 域下的sales 組織單位中批量新增的 csv格式...