您好,登錄后才能下訂單哦!
這篇文章主要介紹了Mybatis怎么解決collection一對多問題的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Mybatis怎么解決collection一對多問題文章都會有所收獲,下面我們一起來看看吧。
我是兩張表關聯查詢(其實是主表都全部數據,但是只保存其他表的ID),主表保存有附表的數據,但是需要將附表的數據整合到主表相同的目錄下,方便前臺調用。
需要的結果樣式如下圖1所示,但是獲取到的結果總是分開的,resultMap和collection節點內容都對了好幾遍,寫的沒問題,但是出現結果如圖二所示:然后最總發現是主表的主鍵ID所導致的,因為主表ID每條都不一樣,雖然在SQL中沒查,但是編譯器好像也會獲取,按主鍵區分,所以不能直接使用原有的主鍵內容,組要手動設置一個,這個設置的內容是你需要劃分的依據字段,如我是根據DIAGNOSIS_NO這個字段來劃分數據哪些是一組的,所以用這個字段來代替主鍵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": "活動無耐力。" }, ], "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": "活動無耐力。" } ], "PATIENT_ID": "20005369", "VISIT_ID": "1", "ADMISSION_DATE": "2020-09-22 10:20", }, ] }
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
關于“Mybatis怎么解決collection一對多問題”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Mybatis怎么解決collection一對多問題”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。