要做批量插入資料庫,首先得知道該資料庫對批量插入所支援的語法。每個資料庫批量插入的語法都不一樣,我介紹兩種。
mysql:1、insert into table_name(id,name)values(1,』張三』),(2,』李四』)
2、insert into table_name(id,name)values(1,』張三』);insert into table_name(id,name)values(2,』李四』)
oracle:1、insert into table_name (id,name) (select 1,』張三』 from dual) union all (select 2,』李四』 from dual)
2、insert into table_name (id,name) values(1,』張三』);insert into table_name(id,name)values(2,』李四』)
特別注意:第一種寫法中沒有『values』關鍵字 ,寫了會報錯!!!
4條sql都是資料庫支援的寫法。兩者的第二種是不推薦的寫法,因為不管效率還是可讀性上都遠差於第一種
當然,還有更重要的一點,mybatis不支援第二種寫法,因為mybatis的乙個事務只支援一條sql
所以,mybatis裡寫法只能取兩者的第一種,**如下
mysql
insert into table_name(id,name) values
(#,#)
foreach>
select>
oracle:
insert into table_name(id,name)
(select #,# from dual)
foreach>
select>
這裡要注意了,標籤一定得是,不能是或者,否則就要報錯。。 mybatis 批量操作
foreach屬性 屬性描述 item 迴圈體中的具體物件。支援屬性的點路徑訪問,如item.age,item.info.details。具體說明 在list和陣列中是其中的物件,在map中是value。該引數為必選。collection 要做foreach的物件,作為入參時,list 物件預設用l...
mybatis操作步驟
第一步載入相應的jar包。第二步 編寫輸出日誌檔案 log4j.properties 可選項 configure logging for testing optionally with log file log4j.rootlogger debug,stdout log4j.rootlogger w...
mybatis批量操作
查詢id在in裡面的測試 list測試 listselectidin param idlist listidlist 查詢id在in裡面的測試 map測試,就是id在乙個map中 listselectinmap param idmap hashmapidmap 修改所有id在list中的測試 int...