ibatis iterate VS mybatis foreach


Iterate
作用:遍歷入參
屬性: 
         prepend ----> 拼接sql條件,一般放在sql執行之前
         property ---->  接收傳入參數(List時不填)
         open  --->  標識遍歷開始的字符串,常用於定義括號
         close  --->  標識遍歷結束的字符串,常用於定義括號 
         conjunction  --->  標識每遍歷完一次之后的操作符,常用於定義 and , or ,“ ,” 等。

<!-- 批量刪除 List -->
<delete id="deleteUserInfoByIds" parameterClass="java.util.List">
    delete
    from UserInfo where id in
    <iterate open="(" close=")"  conjunction=",">
     <!-- ids為list變量名稱,[]非常重要,方括號[]將對象標記為List,以防解析器簡單地將List輸出成String -->
        #ids[]#    
    </iterate>
</delete> 
<!-- 批量刪除 Map-->
<delete id="deleteUserInfoByIds" parameterClass="java.UserIon.UserIonfoMap">
    delete
    from UserInfo  where id in
    <!-- ids為map中的一個List對象 -->
    <iterate property="ids" open="(" close=")"  conjunction=",">
        #ids[]#
    </iterate>
</delete>

foreach
作用:遍歷入參
屬性: 
         item  ---->  標識變量名
         collection  ---->  遍歷類型,數據賦值為array,集合為list
         open  --->  標識遍歷開始的字符串,常用於定義括號
         close  --->  標識遍歷結束的字符串,常用於定義括號 
         separator  --->  標識每遍歷完一次之后的操作符,常用於定義  “ ,” 等。
例子

<!-- 批量刪除 數組 -->
<delete id="deleteUserInfoByIds" parameterType="int">
    delete
    from UserInfo where id in
    <foreach item="idsItem" collection="array" open="(" separator="," close=")">
            #{ids}
        </foreach>
</delete>
 
<!-- 批量刪除 List-->
<delete id="deleteUserInfoByIds" parameterType="int">
    delete
    from UserInfo  where id in
     <foreach item="idsItem" collection="list" open="(" separator="," close=")">
             #{ids}
        </foreach>
</delete>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM