最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

直接上代碼:

整體需求就是

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

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

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í)體分頁對(duì)象(包括其他頁面屬性)		  
	maps.put("str", str); ? 批量查詢的ID		  
	page.setMaps(maps); ? ? maps對(duì)象保存在分頁屬性中		  
	List<Map> mapTest = userService.mapTest(page);		  
	System.out.println(mapTest);

需求。請(qǐng)求前臺(tái)頁面的時(shí)候 需要傳多個(gè)訂單號(hào)比如1,2

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

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

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

取page.maps.str(str是一個(gè)數(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)是一個(gè)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>

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

相關(guān)文章

  • 深入剖析Java ArrayQueue(JDK)的源碼

    深入剖析Java ArrayQueue(JDK)的源碼

    本篇文章主要給大家介紹一個(gè)比較簡單的JDK為我們提供的容器ArrayQueue,這個(gè)容器主要是用數(shù)組實(shí)現(xiàn)的一個(gè)單向隊(duì)列,整體的結(jié)構(gòu)相對(duì)其他容器來說就比較簡單了,感興趣的可以了解一下
    2022-08-08
  • JAVA遍歷一個(gè)文件夾中的所有文件的小例子

    JAVA遍歷一個(gè)文件夾中的所有文件的小例子

    在實(shí)際項(xiàng)目中給定一文件夾,得到這個(gè)文件夾下所有的文件這樣的需求并不是很多,更多的是查找或是刪除某一具體的文件
    2013-10-10
  • java開發(fā)ShardingSphere的路由引擎類型示例詳解

    java開發(fā)ShardingSphere的路由引擎類型示例詳解

    這篇文章主要為大家介紹了java開發(fā)ShardingSphere的路由引擎類型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • JavaWeb購物車項(xiàng)目開發(fā)實(shí)戰(zhàn)指南

    JavaWeb購物車項(xiàng)目開發(fā)實(shí)戰(zhàn)指南

    之前沒有接觸過購物車的東東,也不知道購物車應(yīng)該怎么做,所以在查詢了很多資料,總結(jié)一下購物車的功能實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JavaWeb購物車項(xiàng)目開發(fā)的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • 使用Java實(shí)現(xiàn)系統(tǒng)托盤功能的介紹(附源碼以及截圖)

    使用Java實(shí)現(xiàn)系統(tǒng)托盤功能的介紹(附源碼以及截圖)

    本篇文章介紹了,在Java中實(shí)現(xiàn)系統(tǒng)托盤功能的詳解,文中附源碼以及截圖介紹。需要的朋友參考下
    2013-05-05
  • SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解

    SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解

    這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)異步調(diào)用@Async詳解,在SpringBoot的日常開發(fā)中,一般都是同步調(diào)用的,但實(shí)際中有很多場(chǎng)景非常適合使用異步來處理,需要的朋友可以參考下
    2024-01-01
  • Java 中Flyway的使用詳解

    Java 中Flyway的使用詳解

    這篇文章主要介紹了Java 中Flyway的使用詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java之Spring簡單的讀取和存儲(chǔ)對(duì)象

    Java之Spring簡單的讀取和存儲(chǔ)對(duì)象

    這篇文章主要介紹了Spring的讀取和存儲(chǔ)對(duì)象,獲取 bean 對(duì)象也叫做對(duì)象裝配,是把對(duì)象取出來放到某個(gè)類中,有時(shí)候也叫對(duì)象注?,想進(jìn)一步了解的同學(xué)可以參考本文
    2023-04-04
  • Java8中常用的日期時(shí)間工具類總結(jié)

    Java8中常用的日期時(shí)間工具類總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Java8中常用的三個(gè)日期時(shí)間工具類,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-07-07
  • SpringMVC請(qǐng)求的路徑變量里面寫正則表達(dá)式的方法

    SpringMVC請(qǐng)求的路徑變量里面寫正則表達(dá)式的方法

    這篇文章主要介紹了SpringMVC請(qǐng)求的路徑變量里面寫正則表達(dá)式的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論

平安县| 锡林郭勒盟| 吉林市| 敦煌市| 石渠县| 吴江市| 昭通市| 买车| 嵊州市| 北流市| 定结县| 常州市| 新沂市| 哈尔滨市| 永修县| 竹溪县| 弋阳县| 措勤县| 罗江县| 漳州市| 汉阴县| 巴林左旗| 同仁县| 桓台县| 镶黄旗| 潜山县| 克什克腾旗| 久治县| 东阿县| 伊宁市| 莎车县| 揭东县| 加查县| 湖口县| 新蔡县| 张家港市| 余姚市| 德保县| 巴中市| 牟定县| 黑河市|