mybatis中標籤在
mysql
中的使用
foreach屬性
屬性描述
item
迴圈體中的具體物件。支援屬性的點路徑訪問,如item.age,item.info.details。
具體說明:在list和陣列中是其中的物件,在map中是value。
該引數為必選。
collection
要做foreach的物件,作為入參時,list>物件預設用list代替作為鍵,陣列物件有array代替作為鍵,map物件用map代替作為鍵。
當然在作為入參時可以使用@param("keyname")來設定鍵,設定keyname後,list,array,map將會失效。 除了入參這種情況外,還有一種作為引數物件的某個欄位的時候。舉個例子:
如果user有屬性list ids。入參是user物件,那麼這個collection = "ids"
如果user有屬性ids ids;其中ids是個物件,ids有個屬性list id;入參是user物件,那麼collection = "ids.id"
上面只是舉例,具體collection等於什麼,就看你想對那個元素做迴圈。
該引數為必選。
separator
元素之間的分隔符,例如在in()的時候,separator=","會自動在元素中間用「,「隔開,避免手動輸入逗號導致sql錯誤,如in(1,2,)這樣。該引數可選。
open
foreach**的開始符號,一般是(和close=")"合用。常用在in(),values()時。該引數可選。
close
foreach**的關閉符號,一般是)和open="("合用。常用在in(),values()時。該引數可選。
index
在list和陣列中,index是元素的序號,在map中,index是元素的key,該引數可選。
1.select count(*) from users id in (x1,x2,x3,...)
select count(*) from usersid in
#
2.迴圈插入表資料,用到dual偽表給資料做掩護。insert into deliver (col1,col2,col3,col4,...) select col1,col2,col3,col4... from dual union all select col11,col22,col33,col44,... from dual。(欄位col1,col2,col3,col4,...)新增
或者insert into deliver select col1,col2,col3,col4,... from dual union all select col11,col22,col33,col44,... from dual。(全部字段新增)
insert into deliver3.迴圈插入map值 insert into users(key,values) values(key1,values1),(key2,values3),(key3,values4)( )
select
#,
# from dual
insert into string_string (key, value) values4.select count(*) from key_cols where col_a = ? and col_b = ?open="" separator="," close="">(#, #)
(一定要注意到$和#的區別,$的引數直接輸出,#的引數會被替換為?,然後傳入引數值,加上' '後執行。可以防止sql注入)
select count(*) from key_cols where5.select * from t_news n where n.tags like ? or n.tags like ?open="" separator="and" close="">$ = #
n.tags like '%'||#||'%'
mybatis中標籤的作用
mybatis中sql標籤定義sql片段,include標籤引用,可以復用sql片段 sql標籤中id屬性對應include標籤中的refid屬性。通過include標籤將sql片段和原sql片段進行拼接成乙個完整的sql語句進行執行。res type id,res type sql select ...
mybatis中標籤的作用
mybatis中sql標籤定義sql片段,include標籤引用,可以復用sql片段 sql標籤中id屬性對應include標籤中的refid屬性。通過include標籤將sql片段和原sql片段進行拼接成乙個完整的sql語句進行執行。res type id,res type sql select ...
mybatis批量操作中標籤的使用
mybatis使用,在進行批量操作時可以通過標籤,對傳入的集合引數進行遍歷。一 foreach標籤使用 1.批量更新 dao層設定傳入引數,與遍歷的引數名保持一致 integer batchupdate param stulist liststulist stulist item stu separ...