MyBatis學習(十二) 懶載入

2022-08-31 23:18:22 字數 1283 閱讀 5887

通俗的講就是按需載入,我們需要什麼的時候再去進行什麼操作。而且先從單錶查詢,需要時再從關聯表去關聯查詢,能大大提高資料庫效能,因為查詢單錶要比關聯查詢多張表速度要快。

在mybatis中,resultmap可以實現高階對映(使用association、collection實現一對一及一對多對映),association、collection具備延遲載入功能。

例如:在一對一的查詢中:

注意:

第二次查詢的物件是否一定會在程式中使用?

如果需要使用,程式才去真正的傳送sql語句;如果不使用,程式就不去執行第二個sql語句;

如果不使用第二次查詢的結果,使用懶載入不去查詢author,blog表中的author物件是什麼樣的一種體現?

**物件:第乙個查詢對應乙個blog物件,不執行第二個查詢,author的**隊物件會賦值給blog的author屬性(佔位置);

author的**屬性會先佔據author物件的位置;

當真正使用author屬性的時候,才會真正的傳送第二個查詢;

lazyloadingenabled:開啟延遲載入的開關;

true:表示開啟;false:表示關閉

aggressivelazyloading:設定載入為積極載入還是消極載入;要實現懶載入就要設定為消極載入

true:表示積極載入;false:表示消極載入

一對多查詢的時候同理,用的時候才去查詢第二個sql語句

當sqlsession關閉之後,懶載入的**物件還能被查詢出來嗎?

還能被查詢出來;

**物件中攜帶了資料庫查詢的相關資訊;

ps:因作者能力有限,如有誤還請諒解

mysql懶載入 mybatis懶載入

1.概念 懶載入就是按需載入,我們需要什麼的時候再去進行什麼操作。而且先從單錶查詢,需要時再從關聯表去關聯查詢,能很大提高資料庫效能,因為查詢單錶要比關聯查詢多張表速度要快。在mybatis中,resultmap可以實現高階對映 使用association collection實現一對一及一對多對映...

Mybatis延遲載入(懶載入)

將採用高階對映實現多表聯查時向資料庫發出的sql語句拆分成若干條單錶查詢的sql語句,當需要返回資料時才會向資料庫發出只針對當前資料的sql語句。需求 根據訂單編號,查詢訂單,並返回訂單詳情描述資訊實現延遲載入的前提條件 在settings中配置與延遲載入有關的屬性.column 查詢user的引數...

MyBatis 懶載入丶快取

2.一級快取 3.二級快取 1.1 概述 1.1 在主配置檔案中開啟對懶載入的支援 name lazyloadingenabled value true name aggressivelazyloading value false settings 1.2 多對一association標籤中使用延遲...