1. 程式人生 > >SSM框架day02-MyBatis——054——延遲載入-基本概念

SSM框架day02-MyBatis——054——延遲載入-基本概念

延遲載入    1.什麼是延遲載入?        也稱為懶載入,LazyLoading。        當代碼中執行到查詢語句時,並不是直接到DB中執行select語句進行查詢,而是根據設定好的延遲策略,將查詢向後推遲,這就稱為延遲載入。
        使用延遲載入可以減輕DB伺服器的壓力。
    2.MyBatis的延遲載入
        1)只能對關聯物件進行查詢時,使用延遲載入策略。對於主載入物件,均採用直接載入。
        2)要應用延遲載入查詢,只能使用多表單獨查詢,而不能使用多表連線查詢。因為多表連線查詢的本質是查詢一張表,將多張表首先連線為了一張
            表後,再進行的查詢。查詢一個資訊,就會將所有資訊全部查詢到。
    3.基本概念
        1)主載入物件
        2)關聯物件
        3)主表
        4)關聯表,也稱為從表
    4.延遲載入策略
        延遲載入策略是指導DB中真正執行select語句進行查詢的時機設定。
        MyBatis中的延遲載入策略共分為三種:
        1)直接載入:程式碼中執行到查詢語句,馬上就到DB中執行select查詢。
        2)侵入式延遲載入:將關聯物件的詳情侵入到了主載入物件詳情之中,作為主載入物件的詳情的一部分出現。當要訪問主載入物件的詳情時            ,需要將主載入物件所以詳情進行查詢,但由於關聯物件詳情的一部分出現了,所以,這個查詢不僅會查詢主表,還會查詢關聯表。
        3)深度延遲載入:當需要訪問主載入物件詳情時,只會查詢主表,而不會查詢關聯表。只有當真正訪問關聯物件時,才會查詢關聯表。