Mybatis中mapper檔案中的兩層迴圈
Mybatis中mapper檔案中的兩層迴圈
導言
使用mapper.xml檔案來儲存和執行sql語句是Mybatis框架中重要的應用。在mapper.xml檔案中對List資料的迴圈遍歷較為普遍和常用,而兩層或多層迴圈是大家不常用的。下面簡單介紹一下吧!
從單層迴圈說起
mapper.java檔案中的getData函式 :
public getData(@("param") List<String> param);
mapper.xml中getData的sql :
<select id="getData">
select * from table t where t.id in
<foreach item="item" index="index" collection="dataList" open="(" close=")" separator=",">
#{dataList}
</foreach>
</select>
分析 :
getData傳送過來的是一個List型別的資料,因此需要單層迴圈即可
兩層迴圈
info類 :
public class Info{
public String name;
public List<String> ids;
}
mapper.java中用到info類的函式 :
public getData(@("param") List<Info>);
mapper.xml中getData的sql :
<select id="getData">
select * from table t where t.id in
<foreach item="item" index="index" collection="dataList">
<foreach item="idItem" index="index" collection="item.ids" open="(" close=")" separator=",">
#{idItem}
</foreach>
</foreach>
</select>
注意 :
collection=”item.ids” 為多層迴圈的關鍵
後序
以上為Mybaits框架mapper.xml檔案使用多層迴圈一個方面。對於處理map等更為複雜資料的處理,筆者還不知。等待高手指點吧!
相關文章
- mybatis中mapper.xml檔案引數問題MyBatisAPPXML
- 自動生成Mybatis的Mapper檔案MyBatisAPP
- 最全MyBatis中XML對映檔案(Mapper)標籤分析及示例MyBatisXMLAPP
- mybatis中@Mapper使用介紹MyBatisAPP
- 迴圈中的非同步&&迴圈中的閉包非同步
- MyBatis中批量插入資料,多重forEach迴圈MyBatis
- mybatis 中mapper 的namespace有什麼用?MyBatisAPPnamespace
- 剔除Intellij中Mybatis的Mapper自動注入警告IntelliJMyBatisAPP
- Mybatis的Mapper對映檔案中常用標籤及作用MyBatisAPP
- mybatis foreach迴圈MyBatis
- 兩張圖徹底搞懂MyBatis的Mapper原理!MyBatisAPP
- 自己挖的坑自己填--Mybatis mapper檔案if標籤中number型別及String型別的坑MyBatisAPP型別
- Mybatis的Mapper中的方法為什麼不能過載?MyBatisAPP
- 理解 JavaScript 中的迴圈JavaScript
- Node中的事件迴圈事件
- Go 1.22 中的 For 迴圈Go
- JavaScript中的while迴圈JavaScriptWhile
- Redis 中的事件迴圈Redis事件
- Kotlin 中的迴圈全解Kotlin
- go 中的迴圈依賴Go
- Spring中的迴圈依賴Spring
- 【Mybatis】mapper對映檔案中<sql>標籤的id等欄位爆紅,資料庫表名爆紅。MyBatisAPPSQL資料庫
- scss中迴圈之@for迴圈佈局畫圓CSS
- mapper檔案 和beanAPPBean
- mybatis xml 檔案中like模糊查詢MyBatisXML
- mybatis的外掛:mapperMyBatisAPP
- Mybatis 學習筆記(一)——配置檔案SqlMapConfig.xml和對映檔案Mapper.xmlMyBatis筆記SQLXMLAPP
- 瀏覽器中的事件迴圈瀏覽器事件
- nodejs中的事件迴圈 - Event LoopNodeJS事件OOP
- FastJson中迴圈引用的問題ASTJSON
- Spring 中 bean 的迴圈依賴SpringBean
- C++中的迴圈結構C++
- 探討兩種迴圈表示方法的區別,while迴圈與for迴圈的小總結While
- MyBatis xml foreach迴圈語句MyBatisXML
- mybatis mapper解析(4)MyBatisAPP
- C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用C#程式設計While
- [譯]JS閉包:For迴圈中的setTimeoutJS
- JavaScript中更好的迴圈寫法大全JavaScript
- Kotlin中 until和..的區別(迴圈)Kotlin