mybatis記錄隨便(三)foreach實現in查詢


foreach屬性:

<foreach collection="list" open="(" close=")" separator="," item="id"  index="i" >
  #{id}
</foreach>

  • collection 必填,值為要選代循環的屬性名。這個屬性值的情況有很多。 
  • item:變量名,值為從法代對象中取出的每一個值。 
  • index :索引的屬性名,在集合數組情況下值為當前索引值 當選代循環的對象是 Map類型時,這個值為 Map 的 key (鍵值)。 
  • open:整個循環內容開頭的字符串
  • close 整個循環內容結尾的字符串。
  • separator :每次循環的分隔符

collection的屬性設置方法 (list、array等):
1 . 只有一個數組參數或集合參數 

當參數類型為集合的時候,默認會轉換為 Map 類型,井添加一個 key 為 collection的值,如果參數類型是 List 集合,那么就繼續添加一個 key 為 list的值。

這樣,當 collection=" list ”時, 就能得到這個集合,並對它進行循環操作。

當參數類型為數組的時候,也會轉換成 Map 類型,默認的 key 為 array

使用數組參數時,就需要把 foreach 標簽中的 collection 屬性值設置為 array

上面提到的是數組或集合類型的參數默認的名字。推薦使用@ Par am 來指定參數的名字 ,這時 collection 就設置為通過@ Param 注解指定的名字

2.多個參數

當有多個參數的時候,要使用@ Param 注解給每個參數指定一個名字,因此將 collection 設置為@ Param 注解指定的名字即可 。

3.參數是map

使用 Map 和使用@ Param 注解方式類似,將 collection 指定為對應 Map 中的 key 即可

4.參數是一個對象

這種情況下指定為對象的屬性名即可。當使用對象內多層嵌套的對象時,使用屬性.屬性(集合和數組可以使用下標取值)的方式可以指定深層的屬性值。

 

 


免責聲明!

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



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