溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mybatis返回的map結(jié)果怎么設(shè)置有序

發(fā)布時間:2022-01-24 09:32:23 來源:億速云 閱讀:266 作者:柒染 欄目:開發(fā)技術(shù)

今天給大家介紹一下mybatis返回的map結(jié)果怎么設(shè)置有序。文章的內(nèi)容小編覺得不錯,現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

mybatis返回的map結(jié)果設(shè)置有序

mybatis返回的map結(jié)果設(shè)置有序(與查詢的域順序一致)

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

這樣的情況下是無排序的

想要按著查詢的順序來的話

換成

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

mybatis中查詢的結(jié)果有序展示

如何把mybatis中sql查詢的結(jié)果按照自己定義的resultMap有序展示?

1、分析為啥結(jié)果是亂序

先看下圖:

 第一張為select語句,resultType是本項目封裝的一個類

mybatis返回的map結(jié)果怎么設(shè)置有序

第二張為resultMap語句,type也是本項目封裝的一個類

mybatis返回的map結(jié)果怎么設(shè)置有序

 第三張是本項目封裝的一個類,可以看到繼承了HashMap

mybatis返回的map結(jié)果怎么設(shè)置有序

通過上圖可以分析出,HashMap存取數(shù)據(jù)大多是無序的,那么關(guān)鍵點找出來了。

要想查詢出來的結(jié)果有序,替換HashMap為LinkedHashMap

2、修改

因為PageData本項目封裝類其他地方也使用到了,因此這里只更改xml里面的

  • 更改resultType為 java.util.LinkedHashMap

  • 更改typeype為 java.util.LinkedHashMap

mybatis返回的map結(jié)果怎么設(shè)置有序

mybatis返回的map結(jié)果怎么設(shè)置有序

補充

HashMap:

  • HashMap是一個最常用的Map,它根據(jù)鍵的HashCode 值存儲數(shù)據(jù),根據(jù)鍵可以直接獲取它的值,具有很快的訪問速度。

  • HashMap最多只允許一條記錄的鍵為Null;

  • 允許多條記錄的值為 Null;

  • HashMap不支持線程的同步,即任一時刻可以有多個線程同時寫HashMap;

  • 可能會導(dǎo)致數(shù)據(jù)的不一致。

LinkedHashMap:

LinkedHashMap也是一個HashMap,但是內(nèi)部維持了一個雙向鏈表,可以保持順序

以上就是mybatis返回的map結(jié)果怎么設(shè)置有序的全部內(nèi)容了,更多與mybatis返回的map結(jié)果怎么設(shè)置有序相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進行學(xué)習(xí)哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI