观看麻豆影视文化有限公司-国产 高清 在线-国产 日韩 欧美 亚洲-国产 日韩 欧美 综合-日日夜夜免费精品视频-日日夜夜噜

mybatis懶加載原理(mybatis懶加載和延遲加載)

  • 生活
  • 2023-04-24 13:41

推遲加載又叫懶加載,也叫按需加載。也即是說先加載主消息,在須要的功夫,再去加載從消息。

在mybatis中,resultMap標(biāo)簽的association標(biāo)簽和collection標(biāo)簽具備推遲加載的功效。

1、正片jar包

推遲加載中查問出來的是一個代勞東西,不是真實的東西自己,可參考hibernate中的load本領(lǐng),運用log4j將日記消息打字與印刷在遏制臺不妨很精確的看到,以是在運用推遲加載時,須要用到cglib包。

<dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.2.6</version></dependency>2、擺設(shè)全部樹立

<!–全部樹立–>

<settings>

<!--翻開推遲加載的電門,默許為false,即非推遲加載--><settingname="lazyLoadingEnabled"value="true"/><!--將主動加載改為失望加載--><settingname="aggressiveLazyLoading"value="true"/><!--兩個合在一道擺設(shè)即是,失望的推遲加載--></settings>

官方對這兩個屬性的證明是:

lazyLoadingEnabled全部起用或禁止使用推遲加載。當(dāng)禁止使用時,一切關(guān)系東西城市立即加載。(能否推遲加載暫時東西的關(guān)系東西)

aggressiveLazyLoading當(dāng)起用時,有推遲加載屬性的東西在被挪用時將會實足加載大肆屬性。要不,每種屬性將會按須要加載。(能否推遲加載暫時東西屬性的關(guān)系東西)

推遲加載會天生代勞東西

3、嘗試

/**

*嘗試推遲加載

*/

@TestpublicvoidtestLazyLoading(){SqlSessionsession=MyBatisUtil.getSqlSession();BlogMapperblogImpl=session.getMapper(BlogMapper.class);Blogblog=blogImpl.selectById(1);session.close();//默許是主動加載的,須要在Config擺設(shè)文獻(xiàn)的全部中擺設(shè)System.out.println(blog.getId());//System.out.println(blog.getAuthor());}

按照MyBatis官方文書檔案中給出的案例,Blog類中關(guān)系了Author,此次嘗試,鑒于官方文書檔案中的案例

(1)什么都不擺設(shè),且只打字與印刷blog的id

不妨看出,當(dāng)什么都不擺設(shè)時,默許為用一個從貫穿池中博得的貫穿實行兩個sql語句的查問,即非推遲,主動的查問

(2)擺設(shè)<settingname=”lazyLoadingEnabled”value=”true”/>

aggressiveLazyLoading的默許值為false即只配lazyLoadingEnabled為true大概同聲擺設(shè)兩個為一true一false的截止溝通只有截止映照中擺設(shè)了association

則實行懶加載個性:不查問author的屬性,則不實行子查問。

當(dāng)惟有嘗試中的第一條輸入語句實行時截止如次圖:

不妨看到此時是懶加載。

當(dāng)嘗試中的兩條輸入語句都實行時截止如次圖:

不妨看出,此時為非主動的推遲加載,惟有在須要查問author時才會實行查問author的sql語句。

(2)擺設(shè)<settingname=”lazyLoadingEnabled”value=”true”/>且

<settingname="aggressiveLazyLoading"value="true"/>此時為主動的推遲加載當(dāng)惟有嘗試中的第一條輸入語句實行時截止如次圖:

不妨看出,此時的截止為固然只須要blog的id,然而author保持被查問,并且用到的是兩個貫穿查問。

當(dāng)嘗試中的兩條輸入語句都實行時截止如次圖:

不妨看到,此時兩個輸入語句打字與印刷的截止是貫穿在一塊的,也即是說在打字與印刷author消息之前,author仍舊被查問出來,而不是像上頭非主動的推遲加載那么,用到author時才實行sql語句。

即使第一個樹立的不是true時,第二個樹立是沒有意旨的,這個不妨看一下官方文書檔案上寫的,看完官方文書檔案就一覽無余了

猜你喜歡

主站蜘蛛池模板: 免费国产高清精品一区在线 | 91精品乱码一区二区三区 | 欧美一级爆毛片 | 久久久久久91 | 亚洲观看视频 | 91精品国产爱久久久久 | 中文字幕乱码无线码在线 | 国产最猛性xxxxxx69交 | 午夜毛片网站 | 国产合集91合集久久日 | 亚洲性视频网站 | 曰本女同互慰高清在线观看 | 又www又黄又爽啪啪网站 | a一级 | 久草在线视频资源站 | 手机看片午夜 | 另类专区 亚洲 | 国产午夜亚洲精品 | 亚洲日韩中文字幕 | 亚洲欧美日本在线 | 日产一区两区三区 | 91国语精品自产拍在线观看一 | 亚洲欧美国产高清va在线播放 | 久久久久综合一本久道 | 国产亚洲小视频 | 欧美做a欧美| 免费看男女做好爽好硬视频 | 另类欧美视频 | 国产精品亚洲一区在线播放 | 久草免费新视频 | 国产三级做爰在线观看视频 | 白云精品视频国产专区 | 久久精品99精品免费观看 | 自拍视频网 | 国产自产自拍 | 亚洲日本精品 | 欧美一级毛片欧美一级成人毛片 | 一区二区三区亚洲 | 精品国产免费一区二区三区五区 | 日韩视频在线观看一区 | 国产成人久视频免费 |