欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起)

 更新時(shí)間:2023年03月30日 09:54:25   作者:肖家莊小王  
這篇文章主要介紹了Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

先簡單說一下我遇到的問題

我是兩張表關(guān)聯(lián)查詢(其實(shí)是主表都全部數(shù)據(jù),但是只保存其他表的ID),主表保存有附表的數(shù)據(jù),但是需要將附表的數(shù)據(jù)整合到主表相同的目錄下,方便前臺(tái)調(diào)用。

需要的結(jié)果樣式如下圖1所示,但是獲取到的結(jié)果總是分開的,resultMap和collection節(jié)點(diǎn)內(nèi)容都對了好幾遍,寫的沒問題,但是出現(xiàn)結(jié)果如圖二所示:然后最總發(fā)現(xiàn)是主表的主鍵ID所導(dǎo)致的,因?yàn)橹鞅鞩D每條都不一樣,雖然在SQL中沒查,但是編譯器好像也會(huì)獲取,按主鍵區(qū)分,所以不能直接使用原有的主鍵內(nèi)容,組要手動(dòng)設(shè)置一個(gè),這個(gè)設(shè)置的內(nèi)容是你需要?jiǎng)澐值囊罁?jù)字段,如我是根據(jù)DIAGNOSIS_NO這個(gè)字段來劃分?jǐn)?shù)據(jù)哪些是一組的,所以用這個(gè)字段來代替主鍵id。

圖一

{
    "code": 200,
    "msg": "成功獲取",
    "data": [
        {
            "id": "",
            "nursingplanDtoList": [
                {
                    "id": "",
                    "DIAGNOSIS_NO": "38.0",
                    "FACTOR_NO": 24,
                    "DIAGNOSIS_FACTOR": "疼痛不適。"
                },
                {
                    "id": "",
                    "DIAGNOSIS_NO": "38.0",
                    "FACTOR_NO": 25,
                    "DIAGNOSIS_FACTOR": "活動(dòng)無耐力。"
                },
            ],
            "PATIENT_ID": "20005369",
            "VISIT_ID": "1",
            "ADMISSION_DATE": "2020-09-22 10:20",
        }
    ]
}

圖二

{
    "code": 200,
    "msg": "成功獲取",
    "data": [
        {
            "id": "",
            "nursingplanDtoList": [
                {
                    "id": "",
                    "DIAGNOSIS_NO": "38.0",
                    "FACTOR_NO": 24,
                    "DIAGNOSIS_FACTOR": "疼痛不適。"
                }
            ],
            "PATIENT_ID": "20005369",
            "VISIT_ID": "1",
            "ADMISSION_DATE": "2020-09-22 10:20",
        },
        {
            "id": "",
            "nursingplanDtoList": [
                {
                    "id": "",
                    "DIAGNOSIS_NO": "38.0",
                    "FACTOR_NO": 25,
                    "DIAGNOSIS_FACTOR": "活動(dòng)無耐力。"
                }
            ],
            "PATIENT_ID": "20005369",
            "VISIT_ID": "1",
            "ADMISSION_DATE": "2020-09-22 10:20",
        },
    ]
}

首先先看一下我的兩張表

表一:factorDict

表二:nursingDiagnosis

Sql查詢語句

        SELECT
        n.DIAGNOSIS_NO as id,
        n.PATIENT_ID,
        n.VISIT_ID,
        n.ADMISSION_DATE,
        n.DIAGNOSIS_NO,
        n.DIAGNOSIS_STATUS,
        n.DIAGNOSIS_SORT,
        n.EXPECTED_TARGET,
        n.START_DATE,
        n.STOP_DATE,
        n.FACTOR_ID as FACTOR_NO,
        n.FACTOR_STATUS,
        f.DIAGNOSIS_FACTOR
        FROM
        nursingDiagnosis n LEFT JOIN factorDcit f on n.FACTOR_ID=f.id
        WHERE
        n.PATIENT_ID = #{Patient_id}
        AND n.VISIT_ID = #{Visit_id}
        AND n.ADMISSION_DATE=#{Admission_Date}
        AND n.DIAGNOSIS_NO='38.0'
        ORDER BY
        n.DIAGNOSIS_STATUS DESC,
        n.DIAGNOSIS_SORT

總結(jié)

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

相關(guān)文章

最新評論