{"id":3383,"date":"2024-03-13T06:54:23","date_gmt":"2024-03-13T06:54:23","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/"},"modified":"2025-07-30T15:28:36","modified_gmt":"2025-07-30T15:28:36","slug":"what-is-the-method-to-retrieve-a-primary-key-in-mybatis","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/","title":{"rendered":"MyBatis Get Primary Key: 2 Simple Methods"},"content":{"rendered":"<p>In MyBatis, there are two common ways to retrieve the primary key.<\/p>\n<ol>\n<li>\nBy utilizing the selectKey element, it is possible to retrieve the automatically generated primary key value when inserting data. For example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">insert<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"insertUser\"<\/span> <span class=\"hljs-attr\">parameterType<\/span>=<span class=\"hljs-string\">\"User\"<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">selectKey<\/span> <span class=\"hljs-attr\">keyProperty<\/span>=<span class=\"hljs-string\">\"id\"<\/span> <span class=\"hljs-attr\">order<\/span>=<span class=\"hljs-string\">\"AFTER\"<\/span> <span class=\"hljs-attr\">resultType<\/span>=<span class=\"hljs-string\">\"int\"<\/span>&gt;<\/span>\r\n        SELECT LAST_INSERT_ID()\r\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">selectKey<\/span>&gt;<\/span>\r\n    INSERT INTO user (name, age) VALUES (#{name}, #{age})\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">insert<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Tag: When inserting data, you can use tags to retrieve automatically generated primary key values. For example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">insert<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"insertUser\"<\/span> <span class=\"hljs-attr\">parameterType<\/span>=<span class=\"hljs-string\">\"User\"<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">selectKey<\/span> <span class=\"hljs-attr\">keyProperty<\/span>=<span class=\"hljs-string\">\"id\"<\/span> <span class=\"hljs-attr\">order<\/span>=<span class=\"hljs-string\">\"AFTER\"<\/span> <span class=\"hljs-attr\">resultType<\/span>=<span class=\"hljs-string\">\"int\"<\/span>&gt;<\/span>\r\n        SELECT LAST_INSERT_ID()\r\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">selectKey<\/span>&gt;<\/span>\r\n    INSERT INTO user (name, age) VALUES (#{name}, #{age})\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">insert<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>Both methods involve executing an SQL statement immediately after inserting data to retrieve the primary key value, which is then set to the primary key property of the entity object.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In MyBatis, there are two common ways to retrieve the primary key. By utilizing the selectKey element, it is possible to retrieve the automatically generated primary key value when inserting data. For example: &lt;insert id=&#8221;insertUser&#8221; parameterType=&#8221;User&#8221;&gt; &lt;selectKey keyProperty=&#8221;id&#8221; order=&#8221;AFTER&#8221; resultType=&#8221;int&#8221;&gt; SELECT LAST_INSERT_ID() &lt;\/selectKey&gt; INSERT INTO user (name, age) VALUES (#{name}, #{age}) &lt;\/insert&gt; Tag: When inserting [&hellip;]<\/p>\n","protected":false},"author":14,"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":[830,1509,1459,1508,1510],"class_list":["post-3383","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-database-tutorial","tag-java-frameworks","tag-mybatis","tag-primary-key","tag-sql-inserts"],"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 Get Primary Key: 2 Simple Methods - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn two methods to get auto-generated primary keys in MyBatis including selectKey with examples.\" \/>\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-method-to-retrieve-a-primary-key-in-mybatis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis Get Primary Key: 2 Simple Methods\" \/>\n<meta property=\"og:description\" content=\"Learn two methods to get auto-generated primary keys in MyBatis including selectKey with examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-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-13T06:54:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-30T15:28:36+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\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=\"Noah Thompson\" \/>\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-method-to-retrieve-a-primary-key-in-mybatis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"MyBatis Get Primary Key: 2 Simple Methods\",\"datePublished\":\"2024-03-13T06:54:23+00:00\",\"dateModified\":\"2025-07-30T15:28:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/\"},\"wordCount\":86,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"database tutorial\",\"Java frameworks\",\"MyBatis\",\"primary key\",\"SQL inserts\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/\",\"name\":\"MyBatis Get Primary Key: 2 Simple Methods - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T06:54:23+00:00\",\"dateModified\":\"2025-07-30T15:28:36+00:00\",\"description\":\"Learn two methods to get auto-generated primary keys in MyBatis including selectKey with examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis Get Primary Key: 2 Simple Methods\"}]},{\"@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\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MyBatis Get Primary Key: 2 Simple Methods - Blog - Silicon Cloud","description":"Learn two methods to get auto-generated primary keys in MyBatis including selectKey with examples.","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-method-to-retrieve-a-primary-key-in-mybatis\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis Get Primary Key: 2 Simple Methods","og_description":"Learn two methods to get auto-generated primary keys in MyBatis including selectKey with examples.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T06:54:23+00:00","article_modified_time":"2025-07-30T15:28:36+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"MyBatis Get Primary Key: 2 Simple Methods","datePublished":"2024-03-13T06:54:23+00:00","dateModified":"2025-07-30T15:28:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/"},"wordCount":86,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["database tutorial","Java frameworks","MyBatis","primary key","SQL inserts"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/","name":"MyBatis Get Primary Key: 2 Simple Methods - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T06:54:23+00:00","dateModified":"2025-07-30T15:28:36+00:00","description":"Learn two methods to get auto-generated primary keys in MyBatis including selectKey with examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-method-to-retrieve-a-primary-key-in-mybatis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis Get Primary Key: 2 Simple Methods"}]},{"@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\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3383","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\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3383"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3383\/revisions"}],"predecessor-version":[{"id":148020,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3383\/revisions\/148020"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=3383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=3383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}