mybatis-嵌套(关联)查询/ N+1 / 延迟加载
生活随笔
收集整理的這篇文章主要介紹了
mybatis-嵌套(关联)查询/ N+1 / 延迟加载
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們在查詢業(yè)務(wù)數(shù)據(jù)的時候經(jīng)常會遇到跨表關(guān)聯(lián)查詢的情況,比如查詢員工就會關(guān)聯(lián)部門(一對一),查詢成績就會關(guān)聯(lián)課程(一對一),查詢訂單就會關(guān)聯(lián)商品(一對多),等等。
我們映射結(jié)果有兩個標簽,一個是resultType,一個是resultMap。
resultType 是select 標簽的一個屬性,適用于返回JDK 類型(比如Integer、String等等)和實體類。這種情況下結(jié)果集的列和實體類的屬性可以直接映射。如果返回的字段無法直接映射,就要用resultMap 來建立映射關(guān)系。
對于關(guān)聯(lián)查詢的這種情況,通常不能用resultType 來映射。用resultMap 映射,要么就是修改dto(Data Transfer Object),在里面增加字段,這個會導致增加很多無關(guān)的字段。要么就是引用關(guān)聯(lián)的對象,比如Blog 里面包含了一個Author 對象,這種情況下就要用到關(guān)聯(lián)查詢(association,或者嵌套查詢),MyBatis 可以幫我們自動做結(jié)果的映射。
?
總結(jié)
以上是生活随笔為你收集整理的mybatis-嵌套(关联)查询/ N+1 / 延迟加载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis-Batch Execut
- 下一篇: mybatis-一对一的关联查询有两种配