{"id":6318,"date":"2024-03-14T04:06:51","date_gmt":"2024-03-14T04:06:51","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/"},"modified":"2025-08-02T02:03:19","modified_gmt":"2025-08-02T02:03:19","slug":"how-can-mybatis-update-several-thousand-records-in-bulk","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/","title":{"rendered":"MyBatis Batch Update: Update Thousands of Records"},"content":{"rendered":"<p>In MyBatis, you can use batch update operations to update thousands of records. Here is one way to implement it:<\/p>\n<ol>\n<li>Define a method for batch updating in the Mapper interface as shown below:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title class_\">UserMapper<\/span> {\r\n    <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">updateBatch<\/span><span class=\"hljs-params\">(List&lt;User&gt; userList)<\/span>;\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>Write the SQL statement for batch update in the corresponding Mapper XML file as shown below:<\/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\">\"updateBatch\"<\/span> <span class=\"hljs-attr\">parameterType<\/span>=<span class=\"hljs-string\">\"java.util.List\"<\/span>&gt;<\/span>\r\n    update user\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">set<\/span>&gt;<\/span>\r\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">foreach<\/span> <span class=\"hljs-attr\">collection<\/span>=<span class=\"hljs-string\">\"list\"<\/span> <span class=\"hljs-attr\">item<\/span>=<span class=\"hljs-string\">\"item\"<\/span> <span class=\"hljs-attr\">separator<\/span>=<span class=\"hljs-string\">\",\"<\/span> &gt;<\/span>\r\n            username = #{item.username},\r\n            password = #{item.password}\r\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">foreach<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">set<\/span>&gt;<\/span>\r\n    where id in\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">foreach<\/span> <span class=\"hljs-attr\">collection<\/span>=<span class=\"hljs-string\">\"list\"<\/span> <span class=\"hljs-attr\">item<\/span>=<span class=\"hljs-string\">\"item\"<\/span> <span class=\"hljs-attr\">open<\/span>=<span class=\"hljs-string\">\"(\"<\/span> <span class=\"hljs-attr\">close<\/span>=<span class=\"hljs-string\">\")\"<\/span> <span class=\"hljs-attr\">separator<\/span>=<span class=\"hljs-string\">\",\"<\/span>&gt;<\/span>\r\n        #{item.id}\r\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">foreach<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">update<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<ol>\n<li>Call the batch update method in the code as shown below:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>List&lt;User&gt; userList = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ArrayList<\/span>&lt;&gt;();\r\n<span class=\"hljs-comment\">\/\/ \u6dfb\u52a0\u9700\u8981\u66f4\u65b0\u7684\u7528\u6237\u6570\u636e\u5230userList\u4e2d<\/span>\r\n\r\n<span class=\"hljs-keyword\">try<\/span>(<span class=\"hljs-type\">SqlSession<\/span> <span class=\"hljs-variable\">sqlSession<\/span> <span class=\"hljs-operator\">=<\/span> sqlSessionFactory.openSession()) {\r\n    <span class=\"hljs-type\">UserMapper<\/span> <span class=\"hljs-variable\">userMapper<\/span> <span class=\"hljs-operator\">=<\/span> sqlSession.getMapper(UserMapper.class);\r\n    userMapper.updateBatch(userList);\r\n    sqlSession.commit();\r\n} <span class=\"hljs-keyword\">catch<\/span> (Exception e) {\r\n    e.printStackTrace();\r\n}\r\n<\/code><\/pre>\n<p>By following the steps above, you can achieve batch updating of several thousand data in MyBatis. It is important to adjust the specific SQL statements and parameter settings according to the actual situation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In MyBatis, you can use batch update operations to update thousands of records. Here is one way to implement it: Define a method for batch updating in the Mapper interface as shown below: public interface UserMapper { void updateBatch(List&lt;User&gt; userList); } Write the SQL statement for batch update in the corresponding Mapper XML file as [&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":[7562,494,1459,2742,1956],"class_list":["post-6318","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-batch-update","tag-database-optimization","tag-mybatis","tag-mybatis-tutorial","tag-sql-performance"],"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 Batch Update: Update Thousands of Records - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to efficiently update thousands of records in MyBatis using batch operations. Complete code examples included.\" \/>\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-mybatis-update-several-thousand-records-in-bulk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis Batch Update: Update Thousands of Records\" \/>\n<meta property=\"og:description\" content=\"Learn how to efficiently update thousands of records in MyBatis using batch operations. Complete code examples included.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/\" \/>\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-14T04:06:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T02:03:19+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\/how-can-mybatis-update-several-thousand-records-in-bulk\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"MyBatis Batch Update: Update Thousands of Records\",\"datePublished\":\"2024-03-14T04:06:51+00:00\",\"dateModified\":\"2025-08-02T02:03:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/\"},\"wordCount\":100,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Batch update\",\"database optimization\",\"MyBatis\",\"MyBatis tutorial\",\"SQL performance\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/\",\"name\":\"MyBatis Batch Update: Update Thousands of Records - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T04:06:51+00:00\",\"dateModified\":\"2025-08-02T02:03:19+00:00\",\"description\":\"Learn how to efficiently update thousands of records in MyBatis using batch operations. Complete code examples included.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis Batch Update: Update Thousands of Records\"}]},{\"@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 Batch Update: Update Thousands of Records - Blog - Silicon Cloud","description":"Learn how to efficiently update thousands of records in MyBatis using batch operations. Complete code examples included.","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-mybatis-update-several-thousand-records-in-bulk\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis Batch Update: Update Thousands of Records","og_description":"Learn how to efficiently update thousands of records in MyBatis using batch operations. Complete code examples included.","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T04:06:51+00:00","article_modified_time":"2025-08-02T02:03:19+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\/how-can-mybatis-update-several-thousand-records-in-bulk\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"MyBatis Batch Update: Update Thousands of Records","datePublished":"2024-03-14T04:06:51+00:00","dateModified":"2025-08-02T02:03:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/"},"wordCount":100,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Batch update","database optimization","MyBatis","MyBatis tutorial","SQL performance"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/","name":"MyBatis Batch Update: Update Thousands of Records - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T04:06:51+00:00","dateModified":"2025-08-02T02:03:19+00:00","description":"Learn how to efficiently update thousands of records in MyBatis using batch operations. Complete code examples included.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-several-thousand-records-in-bulk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis Batch Update: Update Thousands of Records"}]},{"@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\/6318","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=6318"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6318\/revisions"}],"predecessor-version":[{"id":151079,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/6318\/revisions\/151079"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=6318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=6318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=6318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}