亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mybatis foreach 循環(huán) list(map)實(shí)例

 更新時間:2022年03月23日 08:57:24   作者:zhouixi  
這篇文章主要介紹了mybatis foreach 循環(huán) list(map)實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

foreach 循環(huán) list(map)

直接上代碼:

整體需求就是

1.分頁對象里面有map map里面又有數(shù)組對象

2.分頁對象里面有l(wèi)ist list里面有map map里面有數(shù)組對象。

public class Page {
    private Map maps;
    private List lists;
    public Map getMaps() {
        return maps;
    }
    public void setMaps(Map maps) {
        this.maps = maps;
    }
    public List getLists() {
        return lists;
    }
    public void setLists(List lists) {
        this.lists = lists;
    }
}   
String [] str = {"1,2"};
	Page page = new Page(); 實(shí)體分頁對象(包括其他頁面屬性)		  
	maps.put("str", str); ? 批量查詢的ID		  
	page.setMaps(maps); ? ? maps對象保存在分頁屬性中		  
	List<Map> mapTest = userService.mapTest(page);		  
	System.out.println(mapTest);

需求。請求前臺頁面的時候 需要傳多個訂單號比如1,2

然而其他參數(shù)也要有。就要用到分頁實(shí)體 跟map結(jié)合 分頁實(shí)體保存其他屬性。map保存要循環(huán)的ID 或是訂單號

mybatis.foreach循環(huán)如下

這里只做ID或是訂單ID的演示,普通屬性#{id}就行。

取page.maps.str(str是一個數(shù)組)

在collection 這里面直接寫    入?yún)?maps

如果入?yún)⑹荓IST

稍微改一下即可

源數(shù)據(jù)

  maps.put("str", str);
  list.add(maps);
  List<Map> mapTest = userService.mapTest1(list);
  System.out.println(mapTest);
<foreach item="items" index="index" collection="list" open="(" ?separator="," ?close=")"> -->
? ? ? <foreach item="item" index="index" collection="items.str" open="(" ?separator="," ?close=")" ? >
? ? ? ? ? ? ? ? #{item}
? ? ? </foreach>
</foreach>

原理就是 先告訴mybatis我要先循環(huán)list然后拿到list里面的map.str 即可。

使用foreach處理list中的map

參數(shù)的數(shù)據(jù)結(jié)構(gòu)是一個ArrayList<Map<String, Integer>>,需要以String,Integer為條件批量更新數(shù)據(jù)庫的數(shù)據(jù).

將參數(shù)封裝到叫做JsonData的qv中,JsonData的關(guān)鍵代碼是

? ? private ArrayList<Map<String, Integer>> usersPlatforms;
? ? public ArrayList<Map<String, Integer>> getUsersPlatforms() {
? ? ? ? return usersPlatforms;
? ? }
?
? ? public void setUsersPlatforms(ArrayList<Map<String, Integer>> usersPlatforms) {
? ? ? ? this.usersPlatforms = usersPlatforms;
? ? }

Mapper中的方法是

updateXxxx(JsonData jsonData);

Mapper.xml的sql是

<update id="updateXxxx" parameterType="JsonData">
? ? ? ? UPDATE xxx SET `xx` = 10
? ? ? ? <where>
? ? ? ? ? ? <foreach collection="usersPlatforms" item="userPlatform" open="" close="" separator="OR">
? ? ? ? ? ? ? ? <foreach collection="userPlatform.keys" item="key" open=" user_id = " close="" separator="">
? ? ? ? ? ? ? ? ? ? #{key}
? ? ? ? ? ? ? ? </foreach>
? ? ? ? ? ? ? ? <foreach collection="userPlatform.values" item="value" open=" AND platform = " close="" separator="">
? ? ? ? ? ? ? ? ? ? #{value}
? ? ? ? ? ? ? ? </foreach>
? ? ? ? ? ? </foreach>
? ? ? ? </where>
? ? </update>

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java內(nèi)存溢出和內(nèi)存泄露

    Java內(nèi)存溢出和內(nèi)存泄露

    這篇文章主要介紹了Java內(nèi)存溢出和內(nèi)存泄露的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • mybatis一級緩存和二級緩存的區(qū)別及說明

    mybatis一級緩存和二級緩存的區(qū)別及說明

    這篇文章主要介紹了mybatis一級緩存和二級緩存的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 詳解領(lǐng)域驅(qū)動設(shè)計(jì)之事件驅(qū)動與CQRS

    詳解領(lǐng)域驅(qū)動設(shè)計(jì)之事件驅(qū)動與CQRS

    這篇文章分析了如何應(yīng)用事件來分離軟件核心復(fù)雜度。探究CQRS為什么廣泛應(yīng)用于DDD項(xiàng)目中,以及如何落地實(shí)現(xiàn)CQRS框架。當(dāng)然我們也要警惕一些失敗的教訓(xùn),利弊分析以后再去抉擇正確的應(yīng)對之道
    2021-06-06
  • java設(shè)計(jì)模式學(xué)習(xí)之簡單工廠模式

    java設(shè)計(jì)模式學(xué)習(xí)之簡單工廠模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式學(xué)習(xí)之簡單工廠模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java用Arrays.asList初始化ArrayList實(shí)例方法

    Java用Arrays.asList初始化ArrayList實(shí)例方法

    在本篇文章里小編給大家分享的是關(guān)于Java中使用Arrays.asList初始化ArrayList的知識點(diǎn)內(nèi)容,需要的朋友們參考下。
    2019-10-10
  • Windows10系統(tǒng)下JDK1.8環(huán)境變量的配置

    Windows10系統(tǒng)下JDK1.8環(huán)境變量的配置

    今天帶大家學(xué)習(xí)在Windows10系統(tǒng)下怎么配置JDK1.8環(huán)境變量,文中有非常詳細(xì)的安裝及配置教程,對正在學(xué)習(xí)的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • java如何讀取yaml配置文件

    java如何讀取yaml配置文件

    這篇文章主要介紹了java如何讀取yaml配置文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Spring?Security?基于URL的權(quán)限判斷源碼解析

    Spring?Security?基于URL的權(quán)限判斷源碼解析

    這篇文章主要介紹了Spring?Security?基于URL的權(quán)限判斷問題,我們想要實(shí)現(xiàn)自己的基于請求Url的授權(quán)只需自定義一個?AccessDecisionManager即可,接下來跟隨小編一起看看實(shí)現(xiàn)代碼吧
    2021-12-12
  • JAVA通過Filter實(shí)現(xiàn)允許服務(wù)跨域請求的方法

    JAVA通過Filter實(shí)現(xiàn)允許服務(wù)跨域請求的方法

    這里的域指的是這樣的一個概念:我們認(rèn)為若協(xié)議 + 域名 + 端口號均相同,那么就是同域即我們常說的瀏覽器請求的同源策略。這篇文章主要介紹了JAVA通過Filter實(shí)現(xiàn)允許服務(wù)跨域請求,需要的朋友可以參考下
    2018-11-11
  • vue 實(shí)現(xiàn)刪除對象的元素 delete

    vue 實(shí)現(xiàn)刪除對象的元素 delete

    這篇文章主要介紹了vue 實(shí)現(xiàn)刪除對象的元素delete,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論