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

Mybatis-plus查詢條件拒絕自動去重問題

 更新時間:2025年12月08日 08:56:52   作者:春卷-huachun  
文章討論了在使用MyBatis進行多表數(shù)據(jù)關聯(lián)查詢時,由于主鍵ID重復導致數(shù)據(jù)被覆蓋的問題,通過在實體類中添加偽列主鍵,并在查詢中使用該偽列字段,可以確保每條數(shù)據(jù)都有一個唯一的標識,從而避免數(shù)據(jù)被去重

問題描述

當進行多表數(shù)據(jù)關聯(lián)時候,使用mybatis結果集封裝數(shù)據(jù),mybatis會將主鍵id作為map的key值,如果后面有重復的主鍵id,那么將會覆蓋之前的數(shù)據(jù),很顯然這不是多表關聯(lián)查詢數(shù)據(jù)想要看到的結果,如此以來,最終結果會比實際結果少很多,因為數(shù)據(jù)被去重了。

以下是正常使用的數(shù)據(jù)結果集聲明

<resultMap type="com.hhmt.delivery.pojo.model.vo.HhAdxAdSeatVo" id="JoinResultMap">                                    
        省略...
    </resultMap>

<resultMap id="HhAdxAdSeatRelationListResult" 
        省略...
    </resultMap>

正常的查詢

<select id="selectHhAdxAdSeatRelationList" resultMap="HhAdxAdSeatRelationListResult">
        SELECT
        <include refid="Join_Column_List"/>,
        省略...
    </select>

此時查詢出來的結果被去重了,本來分頁查10條結果卻只有4條數(shù)據(jù)

解決辦法

使用偽列,讓每一條數(shù)據(jù)都有一個唯一的id,這樣在存入map時候就不會覆蓋數(shù)據(jù)

1.實體類中添加偽列主鍵

@TableId
private Long rowNum;

2.查詢中添加偽列字段

<!-- 結果集指定唯一id -->
<resultMap type="com.hhmt.delivery.pojo.model.vo.HhAdxAdSeatVo" id="JoinResultMap">
        <id property="rowNum" column="rowNum"/>
        省略...
    </resultMap>

<!-- 查詢中給一個唯一偽列ID -->
<select id="selectHhAdxAdSeatRelationList" resultMap="HhAdxAdSeatRelationListResult">
        SELECT
        @rowNum:=@rowNum+1 as rowNum,
        <include refid="Join_Column_List"/>,
        <include refid="com.hhmt.delivery.dao.HhAdxMediaInfoMapper.Join_Column_List"/>,
        <include 
        省略...
    </select>

這樣,最終查詢的數(shù)據(jù)將不會被去重

總結

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

相關文章

  • Java利用遞歸算法實現(xiàn)查詢斐波那契數(shù)

    Java利用遞歸算法實現(xiàn)查詢斐波那契數(shù)

    今天小編就為大家分享一篇關于Java利用遞歸算法實現(xiàn)查詢斐波那契數(shù),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Java?數(shù)據(jù)結構與算法系列精講之漢諾塔

    Java?數(shù)據(jù)結構與算法系列精講之漢諾塔

    漢諾塔是源于印度一個古老傳說的益智玩具。大梵天創(chuàng)造世界時做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,三根柱子之間一次只能移動一個圓盤
    2022-02-02
  • Springboot集成定時器和多線程異步處理操作

    Springboot集成定時器和多線程異步處理操作

    這篇文章主要介紹了Springboot集成定時器和多線程異步處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java基本語法筆記(菜鳥必看篇)

    Java基本語法筆記(菜鳥必看篇)

    下面小編就為大家?guī)硪黄狫ava基本語法筆記(菜鳥必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • JAVA 繼承基本類、抽象類、接口介紹

    JAVA 繼承基本類、抽象類、接口介紹

    Java是一個面向對象的語言,java面向對象一般有三大特征:封裝、繼承、多態(tài)
    2013-01-01
  • Java異?;A知識解析

    Java異?;A知識解析

    這篇文章主要介紹了Java異?;A知識解析,具有一定借鑒價值,需要的朋友可以資參考下。
    2017-12-12
  • StateMachine 狀態(tài)機機制深入解析

    StateMachine 狀態(tài)機機制深入解析

    這篇文章主要介紹了,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Java實現(xiàn)WebSocket四個步驟

    Java實現(xiàn)WebSocket四個步驟

    這篇文章主要為大家介紹了Java實現(xiàn)WebSocket的方法實例,只需要簡單四個步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Java中的五種引用類型詳解

    Java中的五種引用類型詳解

    Java中的五種引用類型:強引用、軟引用、弱引用、虛引用和Final引用,分別用于管理對象的生命周期,幫助垃圾回收器更高效地回收不再使用的對象
    2024-12-12
  • SpringBoot 動態(tài)配置Profile環(huán)境的方式

    SpringBoot 動態(tài)配置Profile環(huán)境的方式

    這篇文章主要介紹了SpringBoot 動態(tài)配置Profile環(huán)境的方式,本文通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10

最新評論

平江县| 长垣县| 西乡县| 花莲市| 简阳市| 南昌市| 禹州市| 德州市| 商丘市| 三明市| 成安县| 乳山市| 翁牛特旗| 漳州市| 吉林市| 香河县| 泽普县| 微山县| 青铜峡市| 榕江县| 横峰县| 镇远县| 曲阜市| 辽宁省| 高淳县| 资中县| 常德市| 泰和县| 四平市| 西畴县| 巍山| 尼木县| 西丰县| 石首市| 正宁县| 密山市| 莱阳市| 稻城县| 鹰潭市| 林口县| 彭山县|