Mybatis中foreach标簽的使用
-
- foreach代碼示例
- foreach标簽參數解釋
- 使用foreach注意事項
Mybatis中foreach标簽的作用:
一般使用foreach周遊傳入的清單,如list。在Mybatis中的xml檔案中,和普通的sql語句組合成一條完整的語句
foreach代碼示例
<select id="findFileStatusByUrlList" parameterType="java.util.List" resultMap="BaseResultMap">
SELECT * FROM file_approve WHERE file IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<!--最終的效果等同于:
SELECT * FROM file_approve WHERE file IN ("idCard","bankCard","securityCard",...)
-->
foreach标簽參數解釋
其中collection和item參數為必填!
- collection:必須指定,
- 當傳入的參數為list類型,為list
- 當傳入的參數為array類型,為array
- 當傳入的參數為map類型,為map的鍵key(較少使用)
- item:疊代集合時,元素的别名
- index:在list和數組中,index是元素的序号,在map中,index是元素的key
- open:包裹被疊代集合元素的開始符号,一般為"("
- close:包裹被疊代集合元素的結束符号,一般為")"
- separator:被疊代元素之間的分隔符,一般為","
使用foreach注意事項
1.在sql标簽需内要指定parameterType,即傳入參數類型
2.同時也需要指定resultMap(查詢的時候需要),傳回值類型。使用者也可自定義自己的resultMap。一般傳回BaseResultMap,即對應的實體類。