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

Mybatis返回map集合時(shí),列的順序與select不一致問(wèn)題

 更新時(shí)間:2022年01月20日 10:43:52   作者:shenzhou_yh  
這篇文章主要介紹了Mybatis返回map集合時(shí),列的順序與select不一致問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

返回map集合,列的順序與select不一致

<select id="queryPercentByAsset" resultType="java.util.HashMap">

將Hashmap換成LinkedHashMap即可

<select id="queryPercentByAsset" resultType="java.util.LinkedHashMap">

mybatis中返回map集合問(wèn)題

關(guān)于mybatis返回map集合的操作:

1.mapper.xml中寫(xiě)一個(gè)查詢(xún)返回map的sql

<select id="findMap" parameterType="com.sxd.swapping.domain.HuaYangArea" resultType="java.util.HashMap">
         select
            hy.uid,
            hy.area_name
        from
            hua_yang_area AS hy
        <where>
            <if test="areaPerson != null">
                AND hy.area_person &gt;= #{areaPerson}
            </if>
        </where>
    </select>

2.mapper.java 對(duì)應(yīng)接收

注意,這里并不是直接使用Map<>接收,因?yàn)閟ql查出的不是一條數(shù)據(jù),而是多條數(shù)據(jù),所以是List<Map<>>接收

/**
     * mybatis  查詢(xún)接收map集合
     * @param area
     * @return
     */
    List<Map<String,String>> findMap(HuaYangArea area);

3.錯(cuò)誤寫(xiě)法

錯(cuò)誤的寫(xiě)法就是直接讀取List中的Map<>

@Override
    public Map<String, String> findMap(HuaYangArea entity) {
        List<Map<String,String>> list = huaYangAreaMapper.findMap(entity);
        Map<String,String> res = new HashMap<>();
        for (Map<String, String> stringStringMap : list) {
            System.out.println(stringStringMap.toString());
            stringStringMap.forEach((k,v)->{
                System.out.println("key:"+k+">>>value:"+v);
                res.put(k,v);
            });
        }
        return res;
    }

這樣查詢(xún)到的結(jié)果是:

我們需要看一哈實(shí)際List<Map<>>中到底存儲(chǔ)的是什么

結(jié)果集中存儲(chǔ)是按照{字段名1:字段值1,字段名2:字段值2}

而我們其實(shí)期望的是{字段值1:字段值2} 

4.正確寫(xiě)法

所以正確的寫(xiě)法應(yīng)該是

@Override
    public Map<String, String> findMap(HuaYangArea entity) {
        List<Map<String,String>> list = huaYangAreaMapper.findMap(entity);
        Map<String,String> res = new HashMap<>();
        for (Map<String, String> stringStringMap : list) {
            System.out.println(stringStringMap.toString());
            String uid = null;
            String areaName = null;
            for (Map.Entry<String,String> entry:stringStringMap.entrySet()){
                if ("uid".equals(entry.getKey())){
                    uid = entry.getValue();
                }else {
                    areaName = entry.getValue();
                }
            }
            res.put(uid,areaName);
        }
        return res;
    }

返回結(jié)果:

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

相關(guān)文章

  • mybatis in查詢(xún)條件過(guò)長(zhǎng)的解決方案

    mybatis in查詢(xún)條件過(guò)長(zhǎng)的解決方案

    這篇文章主要介紹了mybatis in查詢(xún)條件過(guò)長(zhǎng)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot實(shí)現(xiàn)API接口多版本支持的示例代碼

    SpringBoot實(shí)現(xiàn)API接口多版本支持的示例代碼

    這篇文章主要介紹了SpringBoot實(shí)現(xiàn)API接口多版本支持的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • spring boot 配置freemarker及如何使用freemarker渲染頁(yè)面

    spring boot 配置freemarker及如何使用freemarker渲染頁(yè)面

    springboot中自帶的頁(yè)面渲染工具為thymeleaf 還有freemarker這兩種模板引擎,本文重點(diǎn)給大家介紹spring boot 配置freemarker及如何使用freemarker渲染頁(yè)面,感興趣的朋友一起看看吧
    2023-10-10
  • SpringBoot接收各種各樣參數(shù)的示例詳解

    SpringBoot接收各種各樣參數(shù)的示例詳解

    參數(shù)映射準(zhǔn)確來(lái)說(shuō)是springmvc來(lái)幫我們干的活,但是由于springboot太過(guò)火爆,簡(jiǎn)化了springmvc相關(guān)配置文件,以至于很多人會(huì)誤認(rèn)為是springboot的功能,本文將給大家介紹SpringBoot接收各種各樣參數(shù),文中有詳細(xì)的代碼講解,需要的朋友可以參考下
    2024-04-04
  • Spring?Boot項(xiàng)目中使用?TrueLicense?生成和驗(yàn)證License的詳細(xì)步驟

    Spring?Boot項(xiàng)目中使用?TrueLicense?生成和驗(yàn)證License的詳細(xì)步驟

    這篇文章主要介紹了Spring?Boot項(xiàng)目中使用?TrueLicense?生成和驗(yàn)證License,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • @Controller、@RestController注解區(qū)別詳解

    @Controller、@RestController注解區(qū)別詳解

    這篇文章主要介紹了@Controller、@RestController注解區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 通過(guò)實(shí)例學(xué)習(xí)Java集合框架HashSet

    通過(guò)實(shí)例學(xué)習(xí)Java集合框架HashSet

    這篇文章主要介紹了通過(guò)實(shí)例學(xué)習(xí)Java集合框架HashSet,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • IntelliJ IDEA 2019.1.1 for MAC 下載和注冊(cè)碼激活教程圖解

    IntelliJ IDEA 2019.1.1 for MAC 下載和注

    這篇文章主要介紹了IntelliJ IDEA 2019.1.1 for MAC 下載和注冊(cè)碼激活,教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 打開(kāi)IDEA配置Spring項(xiàng)目時(shí)發(fā)現(xiàn)沒(méi)有選擇java?1.8的選項(xiàng)解決方案

    打開(kāi)IDEA配置Spring項(xiàng)目時(shí)發(fā)現(xiàn)沒(méi)有選擇java?1.8的選項(xiàng)解決方案

    這篇文章主要介紹了打開(kāi)IDEA配置Spring項(xiàng)目時(shí)發(fā)現(xiàn)沒(méi)有選擇java?1.8的選項(xiàng)的解決方案,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者idea具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2025-03-03
  • SpringBoot項(xiàng)目中java -jar xxx.jar沒(méi)有主清單屬性的解決方法

    SpringBoot項(xiàng)目中java -jar xxx.jar沒(méi)有主清單屬性的解決方法

    這篇文章主要給大家介紹了SpringBoot項(xiàng)目中java -jar xxx.jar沒(méi)有主清單的解決方法,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

霍林郭勒市| 微山县| 阿勒泰市| 正镶白旗| 莱阳市| 吉首市| 阿拉尔市| 时尚| 南安市| 中超| 巩义市| 金塔县| 山阳县| 福州市| 平顶山市| 栾城县| 五寨县| 玉树县| 若尔盖县| 綦江县| 宜黄县| 韶关市| 招远市| 高陵县| 新建县| 卓尼县| 南木林县| 潜山县| 康马县| 东阳市| 河北区| 都匀市| 霍山县| 广丰县| 阿巴嘎旗| 长兴县| 双鸭山市| 宝丰县| 莱州市| 西昌市| 黄梅县|