mybatis使用,在進行批量操作時可以通過標籤,對傳入的集合引數進行遍歷。
一、foreach標籤使用:
1.批量更新
dao層設定傳入引數,與遍歷的引數名保持一致:
integer batchupdate(@param("
stulist") liststulist);
stulist" item="stu" separator=" " >
update student
set
name = #,
score = #
where id = # ;
2.批量查詢,通常使用foreach構建in語句,實現批量查詢(見
id="selectpostin"
resulttype
="domain.blog.post"
>
select *
from post p
where id in
item
="item"
index
="index"
collection
="list"
open
="("
separator
=","
close
=")"
>#
二、標籤元素詳解
foreach元素的屬性主要有 item,index,collection,open,separator,close。
item表示集合中每乙個元素進行迭代時的別名,
index指 定乙個名字,用於表示在迭代過程中,每次迭代到的位置,
(使用map時,index屬性值為map中的key的值)
open表示該語句以什麼開始,
separator表示在每次進行迭代之間以什麼符號作為分隔 符,
close表示以什麼結束。
三、collection的選擇
在使用foreach的時候最關鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況:
1. 如果傳入的是單引數且引數型別是乙個list的時候,collection屬性值為list
2. 如果傳入的是單引數且引數型別是乙個array陣列的時候,collection的屬性值為array
3. 如果傳入的引數是多個的時候,我們就需要把它們封裝成乙個map了,當然單引數也可
以封裝成map
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中標籤在Mysql中的使用
mybatis中標籤在 mysql 中的使用 foreach屬性 屬性描述 item 迴圈體中的具體物件。支援屬性的點路徑訪問,如item.age,item.info.details。具體說明 在list和陣列中是其中的物件,在map中是value。該引數為必選。collection 要做forea...