如何在mybatis 中使用In操作


 

  1. SELECT
  2. *
  3. FROM
  4. product_db.productinfo pi
  5. WHERE pi.isvalid = 1
  6. AND pi.id IN (22, 60)

下面將使用一個簡單的過程來演示這個操作

下面這個是mybatis的映射文件

 
        
  1. <select id="queryAllOpenProduct" parameterType="com.tims.open.domain.OpenProductQueryCondition"
  2. resultType="com.tims.open.domain.OpenProduct">
  3. SELECT
  4. *
  5. FROM
  6. product_db.product p
  7. WHERE
  8. p.isvalid = 1
  9. <if test="list != null">
  10. <foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
  11. #{item}
  12. </foreach>
  13. </if>
  14. </select>
  15. 下面是我們的查詢condition類
  16. Public OpenProductQueryCondition{
  17. private Integer productId;
  18. private List<Integer> list;
  19. }

下面我們對IN操作進行分析

 
        
  1. <foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
  2. #{item}
  3. </foreach>

list 就是傳入的condition中的list,mybatis將會遍歷中集合中的元素

index 可以添加也可以不添加

item 你將要遍歷出元素的別名

open 開始的位置

close 什么時候結束

 


免責聲明!

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



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