當前位置:成語大全網 - 書法字典 - MyBatis壹對多查詢和延遲加載

MyBatis壹對多查詢和延遲加載

查詢所有訂單信息,並關聯查詢訂購用戶信息。

主信息:訂單信息

從屬信息:用戶信息

使用resultMap映射結果,並定義壹個特殊的resultMap來映射壹對壹查詢的結果。

屬性:訂單對象的用戶屬性。

Javatype:對應於用戶屬性的類型。

關聯:意味著映射壹對壹的相關查詢。

當resultMap用於結果映射時,具體來說,使用關聯來完成相關查詢的映射,並將相關查詢信息映射到pojo對象中。

查詢所有用戶信息和與用戶相關的訂單信息。

主信息:用戶信息

從屬信息:訂單信息

在壹對多的使用中,只有resultMap可用於結果映射。

集合標簽:定義壹對多關聯的結果映射。

property =“orders”:關聯查詢的結果集存儲在用戶對象的哪個屬性中。

of type =“com . demo . my batis . po . order“:指定關聯查詢的結果集中的對象類型,即列表中的對象類型。您可以在這裏使用別名或完全限定名。

根據關聯對象查詢的select語句的執行時序,MyBatis可以分為三種類型:直接加載、侵入式加載和深度延遲加載。

延遲加載策略需要通過Mybatis全局配置文件中的標簽進行設置。

對主裝載對象執行select語句後,立即對關聯對象執行select查詢。

在主加載對象上執行選擇查詢時,不會執行關聯對象上的查詢。但是當您想要訪問主加載對象的屬性(不是關聯對象的屬性)時,關聯對象的選擇查詢將立即執行。

在主加載對象上執行選擇查詢時,不會執行關聯對象上的查詢。當要訪問主加載對象的詳細信息時,將不會執行對相關對象的查詢。相關對象的查詢僅在相關對象的細節被訪問時執行。