mybatis返回的map結(jié)果如何設(shè)置有序
mybatis返回的map結(jié)果設(shè)置有序
mybatis返回的map結(jié)果設(shè)置有序(與查詢的域順序一致)
<select id="exoprtGoods" resultType="java.util.HashMap">
這樣的情況下是無(wú)排序的
想要按著查詢的順序來(lái)的話
換成
<select id="exoprtGoods" resultType="java.util.LinkedHashMap">
mybatis中查詢的結(jié)果有序展示
如何把mybatis中sql查詢的結(jié)果按照自己定義的resultMap有序展示?
1、分析為啥結(jié)果是亂序
先看下圖:
第一張為select語(yǔ)句,resultType是本項(xiàng)目封裝的一個(gè)類
第二張為resultMap語(yǔ)句,type也是本項(xiàng)目封裝的一個(gè)類
第三張是本項(xiàng)目封裝的一個(gè)類,可以看到繼承了HashMap
通過(guò)上圖可以分析出,HashMap存取數(shù)據(jù)大多是無(wú)序的,那么關(guān)鍵點(diǎn)找出來(lái)了。
要想查詢出來(lái)的結(jié)果有序,替換HashMap為L(zhǎng)inkedHashMap
2、修改
因?yàn)镻ageData本項(xiàng)目封裝類其他地方也使用到了,因此這里只更改xml里面的
- 更改resultType為 java.util.LinkedHashMap
- 更改typeype為 java.util.LinkedHashMap
補(bǔ)充
HashMap:
- HashMap是一個(gè)最常用的Map,它根據(jù)鍵的HashCode 值存儲(chǔ)數(shù)據(jù),根據(jù)鍵可以直接獲取它的值,具有很快的訪問(wèn)速度。
- HashMap最多只允許一條記錄的鍵為Null;
- 允許多條記錄的值為 Null;
- HashMap不支持線程的同步,即任一時(shí)刻可以有多個(gè)線程同時(shí)寫HashMap;
- 可能會(huì)導(dǎo)致數(shù)據(jù)的不一致。
LinkedHashMap:
LinkedHashMap也是一個(gè)HashMap,但是內(nèi)部維持了一個(gè)雙向鏈表,可以保持順序
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis空值關(guān)聯(lián)的具體實(shí)現(xiàn)
在復(fù)雜的數(shù)據(jù)庫(kù)查詢中,處理空值關(guān)聯(lián)是一項(xiàng)常見(jiàn)的需求,本文就來(lái)介紹一下Mybatis空值關(guān)聯(lián)的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07實(shí)例詳解java Struts2的配置與簡(jiǎn)單案例
這篇文章主要介紹了java Struts2的配置與簡(jiǎn)單案例,需要的朋友可以參考下2017-04-04使用Springboot打成jar包thymeleaf的問(wèn)題
這篇文章主要介紹了使用Springboot打成jar包thymeleaf的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java中Redis存儲(chǔ)String類型會(huì)有亂碼的問(wèn)題及解決方案
在java中使用Redis存儲(chǔ)String類型的數(shù)據(jù)時(shí),會(huì)出現(xiàn)亂碼,我寫了一條存儲(chǔ)key為name,值為虎哥的字符串,然后獲取一下這個(gè)key為name的值,打印得到的值,下面通過(guò)實(shí)例代碼介紹Java中Redis存儲(chǔ)String類型會(huì)有亂碼的問(wèn)題及解決方案,一起看看吧2024-04-04maven assembly打包生成Java應(yīng)用啟動(dòng)腳本bat和sh的方法
springboot應(yīng)用通過(guò)maven插件appassembler-maven-plugi生成啟動(dòng)腳本bat和sh,這篇文章主要介紹了maven assembly打包生成Java應(yīng)用啟動(dòng)腳本bat和sh,需要的朋友可以參考下2022-11-11Java中Set集合轉(zhuǎn)為L(zhǎng)ist集合常見(jiàn)的兩種方式
List是Java中比較常用的集合類,指一系列存儲(chǔ)數(shù)據(jù)的接口和類,可以解決復(fù)雜的數(shù)據(jù)存儲(chǔ)問(wèn)題,這篇文章主要給大家介紹了關(guān)于Java中Set集合轉(zhuǎn)為L(zhǎng)ist集合常見(jiàn)的兩種方式,需要的朋友可以參考下2023-12-12Spring核心容器之Bean創(chuàng)建過(guò)程詳解
這篇文章主要介紹了Spring核心容器之Bean創(chuàng)建過(guò)程詳解,獲取?Bean?的方法是?getBean,其來(lái)自?BeanFactory?繼承的AbstractAutowireCapableBeanFactory?抽象類繼承的AbstractBeanFactory?抽象類中,需要的朋友可以參考下2023-11-11