{"id":4191,"date":"2024-03-13T08:04:03","date_gmt":"2024-03-13T08:04:03","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/"},"modified":"2025-07-31T04:33:14","modified_gmt":"2025-07-31T04:33:14","slug":"how-to-execute-a-stored-procedure-in-mybatis","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/","title":{"rendered":"MyBatis Stored Procedure Execution Guide"},"content":{"rendered":"<p>There are typically two ways to execute stored procedures in MyBatis.<\/p>\n<ol>\n<li>choose<\/li>\n<\/ol>\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\">\"callProcedure\"<\/span> <span class=\"hljs-attr\">statementType<\/span>=<span class=\"hljs-string\">\"CALLABLE\"<\/span>&gt;<\/span>\r\n  {call procedure_name(#{param1, mode=IN, jdbcType=INTEGER}, #{param2, mode=OUT, jdbcType=INTEGER})}\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">select<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>In this example, callProcedure is a method defined in the mapper file, procedure_name is the name of the stored procedure to be called, and param1 and param2 are the parameters of the stored procedure.<\/p>\n<ol>\n<li>&#8211; make an update<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">update<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"callProcedure\"<\/span> <span class=\"hljs-attr\">statementType<\/span>=<span class=\"hljs-string\">\"CALLABLE\"<\/span>&gt;<\/span>\r\n  {call procedure_name(#{param1, mode=IN, jdbcType=INTEGER}, #{param2, mode=OUT, jdbcType=INTEGER})}\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">update<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>In this example, callProcedure is a method defined in the mapper file, procedure_name is the name of the stored procedure to call, param1 is the input parameter for the stored procedure, and param2 is the output parameter for the stored procedure.<\/p>\n<p>No matter which method is used, it is necessary to define the corresponding SQL statement in the MyBatis mapper file, and specify the input and output types of the parameters. When calling a stored procedure, CALLABLE must be used as the statementType to specify the calling method of the stored procedure.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are typically two ways to execute stored procedures in MyBatis. choose &lt;select id=&#8221;callProcedure&#8221; statementType=&#8221;CALLABLE&#8221;&gt; {call procedure_name(#{param1, mode=IN, jdbcType=INTEGER}, #{param2, mode=OUT, jdbcType=INTEGER})} &lt;\/select&gt; In this example, callProcedure is a method defined in the mapper file, procedure_name is the name of the stored procedure to be called, and param1 and param2 are the parameters of the [&hellip;]<\/p>\n","protected":false},"author":6,"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":[3508,2688,1459,3509,607],"class_list":["post-4191","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-database-interaction","tag-java-persistence","tag-mybatis","tag-mybatis-mapper","tag-stored-procedure"],"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 Stored Procedure Execution Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to execute stored procedures in MyBatis with our comprehensive guide. Step-by-step instructions with code examples for optimal database interaction.\" \/>\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-to-execute-a-stored-procedure-in-mybatis\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis Stored Procedure Execution Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to execute stored procedures in MyBatis with our comprehensive guide. Step-by-step instructions with code examples for optimal database interaction.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-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-13T08:04:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T04:33:14+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\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=\"Benjamin Taylor\" \/>\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-to-execute-a-stored-procedure-in-mybatis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"MyBatis Stored Procedure Execution Guide\",\"datePublished\":\"2024-03-13T08:04:03+00:00\",\"dateModified\":\"2025-07-31T04:33:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/\"},\"wordCount\":149,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"database interaction\",\"Java persistence\",\"MyBatis\",\"MyBatis mapper\",\"Stored Procedure\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/\",\"name\":\"MyBatis Stored Procedure Execution Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T08:04:03+00:00\",\"dateModified\":\"2025-07-31T04:33:14+00:00\",\"description\":\"Learn how to execute stored procedures in MyBatis with our comprehensive guide. Step-by-step instructions with code examples for optimal database interaction.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis Stored Procedure Execution 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\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MyBatis Stored Procedure Execution Guide - Blog - Silicon Cloud","description":"Learn how to execute stored procedures in MyBatis with our comprehensive guide. Step-by-step instructions with code examples for optimal database interaction.","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-to-execute-a-stored-procedure-in-mybatis\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis Stored Procedure Execution Guide","og_description":"Learn how to execute stored procedures in MyBatis with our comprehensive guide. Step-by-step instructions with code examples for optimal database interaction.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T08:04:03+00:00","article_modified_time":"2025-07-31T04:33:14+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"MyBatis Stored Procedure Execution Guide","datePublished":"2024-03-13T08:04:03+00:00","dateModified":"2025-07-31T04:33:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/"},"wordCount":149,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["database interaction","Java persistence","MyBatis","MyBatis mapper","Stored Procedure"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/","name":"MyBatis Stored Procedure Execution Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T08:04:03+00:00","dateModified":"2025-07-31T04:33:14+00:00","description":"Learn how to execute stored procedures in MyBatis with our comprehensive guide. Step-by-step instructions with code examples for optimal database interaction.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-execute-a-stored-procedure-in-mybatis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis Stored Procedure Execution 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\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4191","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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4191"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4191\/revisions"}],"predecessor-version":[{"id":148856,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4191\/revisions\/148856"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}