Mybatis-plus一對(duì)多分頁(yè)數(shù)據(jù)條數(shù)不正確的處理
Mybatis-plus一對(duì)多分頁(yè)數(shù)據(jù)條數(shù)不正確
今天在進(jìn)行一對(duì)多的left join處理的時(shí)候發(fā)現(xiàn)分頁(yè)的數(shù)據(jù)量不正確,后來(lái)把打印的sql去數(shù)據(jù)庫(kù)執(zhí)行,查詢出來(lái)的確實(shí)是10條,只不過(guò)是1:N的數(shù)據(jù)是10條。
這并不是想要的,應(yīng)該查到主表的數(shù)據(jù)是10條。
在xml里進(jìn)行更改collection的映射
<resultMap id="recordEventMap" type="MaterialRecordEventEntity">
<id column="id" property="id"></id>
<result column="user_id" property="userId"></result>
<result column="type_id" property="typeId"></result>
<result column="create_time" property="createTime"></result>
<collection property="children" column="id" select="queryRecordItem"></collection>
</resultMap>
<select id="pageInfo" resultMap="recordEventMap">
SELECT
re.id,
re.user_id,
re.type_id,
re.create_time
FROM
record_event re
ORDER BY re.id DESC
</select>
<select id="queryRecordItem" resultType="RecordEntity">
SELECT
mr.sum,
material_id,
mr.project_id,
mr.bom_id,
mr.storage_id,
mr.company,
mr.remark
FROM nzic_material_record mr
WHERE mr.tra_no = #{id}
</select>
主要就是把collection的映射數(shù)據(jù)拿一個(gè)子查詢?nèi)ビ成?/h3>
column就是從表要關(guān)聯(lián)主表的那個(gè)字段
這樣查詢出來(lái)的數(shù)據(jù)就是正常的了
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Filter攔截器如何實(shí)現(xiàn)請(qǐng)求跨域轉(zhuǎn)發(fā)
這篇文章主要介紹了使用Filter攔截器如何實(shí)現(xiàn)請(qǐng)求跨域轉(zhuǎn)發(fā),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
JAVA?從完整的文件路徑中分別截取文件名和文件路徑的實(shí)現(xiàn)
在Java編程中,經(jīng)常會(huì)遇到需要截取文件名的場(chǎng)景,本文主要介紹了JAVA?從完整的文件路徑中分別截取文件名和文件路徑的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
SpringBoot使用RestTemplate實(shí)現(xiàn)HTTP請(qǐng)求詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何使用RestTemplate實(shí)現(xiàn)進(jìn)行HTTP請(qǐng)求,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
Java中使用Spring Retry實(shí)現(xiàn)重試機(jī)制的流程步驟
這篇文章主要介紹了我們將探討如何在Java中使用Spring Retry來(lái)實(shí)現(xiàn)重試機(jī)制,重試機(jī)制在處理臨時(shí)性故障和提高系統(tǒng)穩(wěn)定性方面非常有用,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-07-07
Java中Executor和Executors的區(qū)別小結(jié)
在Java并發(fā)編程中,Executor是一個(gè)核心接口,提供了任務(wù)執(zhí)行的抽象方法,而Executors是一個(gè)工具類(lèi),提供了創(chuàng)建各種線程池的工廠方法,Executor關(guān)注任務(wù)的執(zhí)行,而Executors關(guān)注如何創(chuàng)建適合的執(zhí)行器,感興趣的可以了解一下2024-10-10
解決SpringBoot項(xiàng)目讀取yml文件中值為中文時(shí),在視圖頁(yè)面顯示亂碼
這篇文章主要介紹了解決SpringBoot項(xiàng)目讀取yml文件中值為中文時(shí),在視圖頁(yè)面顯示亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
Java對(duì)List進(jìn)行排序的方法總結(jié)
在Java中,對(duì)List進(jìn)行排序是一項(xiàng)常見(jiàn)的任務(wù),Java提供了多種方法來(lái)對(duì)List中的元素進(jìn)行排序,本文將詳細(xì)介紹如何使用Java來(lái)實(shí)現(xiàn)List的排序操作,涵蓋了常用的排序方法和技巧,需要的朋友可以參考下2024-07-07

