{"id":11214,"date":"2024-03-14T13:37:26","date_gmt":"2024-03-14T13:37:26","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/"},"modified":"2025-08-04T08:58:50","modified_gmt":"2025-08-04T08:58:50","slug":"what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/","title":{"rendered":"MyBatis useGeneratedKeys Explained"},"content":{"rendered":"<p>In MyBatis, the useGeneratedKeys parameter is used to specify whether to return the generated primary key value after an insert operation. When set to true, MyBatis will set the generated primary key value back into the inserted object, so that the new primary key value of the inserted record can be directly obtained after the insert operation.<\/p>\n<p>Typically, databases will automatically generate a unique value for the primary key field, such as an auto-incrementing integer or UUID. By setting the useGeneratedKeys parameter to true, MyBatis can automatically assign the generated primary key value to the corresponding object property, making it easier for future operations.<\/p>\n<p>The example code is shown below:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Insert(\"INSERT INTO user(name, age) VALUES(#{name}, #{age})\")<\/span>\r\n<span class=\"hljs-meta\">@Options(useGeneratedKeys = true, keyProperty = \"id\")<\/span>\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">insertUser<\/span><span class=\"hljs-params\">(User user)<\/span>;\r\n<\/code><\/pre>\n<p>In this example, useGeneratedKeys is set to true and the generated primary key value is assigned to the id property of the User object through keyProperty = &#8220;id&#8221;. This allows for retrieving the primary key value of the newly inserted record directly using the user.getId() method after the insertion operation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In MyBatis, the useGeneratedKeys parameter is used to specify whether to return the generated primary key value after an insert operation. When set to true, MyBatis will set the generated primary key value back into the inserted object, so that the new primary key value of the inserted record can be directly obtained after the [&hellip;]<\/p>\n","protected":false},"author":13,"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":[14356,1459,1525,1508,14355],"class_list":["post-11214","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-insert-operation","tag-mybatis","tag-orm","tag-primary-key","tag-usegeneratedkeys"],"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 useGeneratedKeys Explained - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how MyBatis useGeneratedKeys retrieves auto-generated primary keys after insert operations. Simplify database workflows.\" \/>\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\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis useGeneratedKeys Explained\" \/>\n<meta property=\"og:description\" content=\"Learn how MyBatis useGeneratedKeys retrieves auto-generated primary keys after insert operations. Simplify database workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-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-14T13:37:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T08:58:50+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\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=\"Isabella Edwards\" \/>\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\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"MyBatis useGeneratedKeys Explained\",\"datePublished\":\"2024-03-14T13:37:26+00:00\",\"dateModified\":\"2025-08-04T08:58:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/\"},\"wordCount\":163,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"insert operation\",\"MyBatis\",\"ORM\",\"primary key\",\"useGeneratedKeys\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/\",\"name\":\"MyBatis useGeneratedKeys Explained - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T13:37:26+00:00\",\"dateModified\":\"2025-08-04T08:58:50+00:00\",\"description\":\"Learn how MyBatis useGeneratedKeys retrieves auto-generated primary keys after insert operations. Simplify database workflows.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis useGeneratedKeys Explained\"}]},{\"@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\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MyBatis useGeneratedKeys Explained - Blog - Silicon Cloud","description":"Learn how MyBatis useGeneratedKeys retrieves auto-generated primary keys after insert operations. Simplify database workflows.","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\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis useGeneratedKeys Explained","og_description":"Learn how MyBatis useGeneratedKeys retrieves auto-generated primary keys after insert operations. Simplify database workflows.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T13:37:26+00:00","article_modified_time":"2025-08-04T08:58:50+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"MyBatis useGeneratedKeys Explained","datePublished":"2024-03-14T13:37:26+00:00","dateModified":"2025-08-04T08:58:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/"},"wordCount":163,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["insert operation","MyBatis","ORM","primary key","useGeneratedKeys"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/","name":"MyBatis useGeneratedKeys Explained - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T13:37:26+00:00","dateModified":"2025-08-04T08:58:50+00:00","description":"Learn how MyBatis useGeneratedKeys retrieves auto-generated primary keys after insert operations. Simplify database workflows.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-usegeneratedkeys-parameter-in-mybatis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis useGeneratedKeys Explained"}]},{"@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\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11214","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=11214"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11214\/revisions"}],"predecessor-version":[{"id":154985,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11214\/revisions\/154985"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=11214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=11214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=11214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}