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