{"id":4080,"date":"2024-03-13T07:54:03","date_gmt":"2024-03-13T07:54:03","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/"},"modified":"2025-07-31T01:20:56","modified_gmt":"2025-07-31T01:20:56","slug":"how-can-lazy-loading-be-implemented-in-mybatis","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/","title":{"rendered":"MyBatis Lazy Loading: Quick Implementation Guide"},"content":{"rendered":"<p>In MyBatis, implementing lazy loading can be achieved by setting the lazyLoadingEnabled property to true. By default, MyBatis immediately loads associated objects when retrieving an object. However, setting the lazyLoadingEnabled property to true will delay loading associated objects until they are actually needed.<\/p>\n<p>In addition, lazy loading can be achieved by using the fetchType=&#8221;lazy&#8221; attribute in the select element of the Mapper.xml configuration file. For example:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">select<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"getUser\"<\/span> <span class=\"hljs-attr\">resultMap<\/span>=<span class=\"hljs-string\">\"userResultMap\"<\/span> <span class=\"hljs-attr\">fetchType<\/span>=<span class=\"hljs-string\">\"lazy\"<\/span>&gt;<\/span>\r\n    SELECT * FROM user WHERE id = #{id}\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">select<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>After this configuration, when calling the getUser method to obtain user information, the associated objects will not be loaded immediately, and will only load when accessing the properties of the associated objects.<\/p>\n<p>In general, lazy loading can be achieved by setting the lazyLoadingEnabled attribute to true or by using the fetchType=&#8221;lazy&#8221; attribute in the Mapper.xml configuration file.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In MyBatis, implementing lazy loading can be achieved by setting the lazyLoadingEnabled property to true. By default, MyBatis immediately loads associated objects when retrieving an object. However, setting the lazyLoadingEnabled property to true will delay loading associated objects until they are actually needed. In addition, lazy loading can be achieved by using the fetchType=&#8221;lazy&#8221; attribute [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[494,3262,2797,3261,1459],"class_list":["post-4080","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-database-optimization","tag-fetchtype","tag-java-orm","tag-lazy-loading","tag-mybatis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MyBatis Lazy Loading: Quick Implementation Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to implement MyBatis lazy loading with lazyLoadingEnabled &amp; fetchType attributes. Optimize data retrieval performance today!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis Lazy Loading: Quick Implementation Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement MyBatis lazy loading with lazyLoadingEnabled &amp; fetchType attributes. Optimize data retrieval performance today!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T07:54:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T01:20:56+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"MyBatis Lazy Loading: Quick Implementation Guide\",\"datePublished\":\"2024-03-13T07:54:03+00:00\",\"dateModified\":\"2025-07-31T01:20:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\"},\"wordCount\":133,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"database optimization\",\"fetchType\",\"Java ORM\",\"lazy loading\",\"MyBatis\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\",\"name\":\"MyBatis Lazy Loading: Quick Implementation Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T07:54:03+00:00\",\"dateModified\":\"2025-07-31T01:20:56+00:00\",\"description\":\"Learn how to implement MyBatis lazy loading with lazyLoadingEnabled & fetchType attributes. Optimize data retrieval performance today!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis Lazy Loading: Quick Implementation Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MyBatis Lazy Loading: Quick Implementation Guide - Blog - Silicon Cloud","description":"Learn how to implement MyBatis lazy loading with lazyLoadingEnabled & fetchType attributes. Optimize data retrieval performance today!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis Lazy Loading: Quick Implementation Guide","og_description":"Learn how to implement MyBatis lazy loading with lazyLoadingEnabled & fetchType attributes. Optimize data retrieval performance today!","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T07:54:03+00:00","article_modified_time":"2025-07-31T01:20:56+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"MyBatis Lazy Loading: Quick Implementation Guide","datePublished":"2024-03-13T07:54:03+00:00","dateModified":"2025-07-31T01:20:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/"},"wordCount":133,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["database optimization","fetchType","Java ORM","lazy loading","MyBatis"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/","name":"MyBatis Lazy Loading: Quick Implementation Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T07:54:03+00:00","dateModified":"2025-07-31T01:20:56+00:00","description":"Learn how to implement MyBatis lazy loading with lazyLoadingEnabled & fetchType attributes. Optimize data retrieval performance today!","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-lazy-loading-be-implemented-in-mybatis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis Lazy Loading: Quick Implementation Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4080"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4080\/revisions"}],"predecessor-version":[{"id":148742,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4080\/revisions\/148742"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}