{"id":17646,"date":"2024-03-15T15:26:21","date_gmt":"2024-03-15T15:26:21","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/"},"modified":"2024-03-21T11:24:10","modified_gmt":"2024-03-21T11:24:10","slug":"how-can-mybatis-update-multiple-fields-of-data-in-a-batch","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/","title":{"rendered":"How can MyBatis update multiple fields of data in a batch?"},"content":{"rendered":"<p>MyBatis offers a method for batch updating multiple fields of data. Here is a common approach:<\/p>\n<ol>\n<li>Firstly, define a batch update method in the Mapper interface, as shown below:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">updateBatch<\/span><span class=\"hljs-params\">(List&lt;YourClass&gt; list)<\/span>;\r\n<\/code><\/pre>\n<ol>\n<li>Write the corresponding SQL statements in the Mapper XML file and use the dynamic SQL foreach tag for batch update operations. An example is 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 your_table\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      field1 = #{item.field1},\r\n      field2 = #{item.field2},\r\n      ...\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 = #{item.id}\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">update<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>In the example above, your_table is the name of the table to be updated, field1 and field2 are the names of the fields to be updated, item.field1 and item.field2 are the corresponding field names in the Java object, and id is used to specify the update condition.<\/p>\n<ol>\n<li>In Java code, call the batch update method of the Mapper interface. First, assemble the list of data to be updated, then call the method to perform batch updates. An example is shown below:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">YourMapper<\/span> <span class=\"hljs-variable\">mapper<\/span> <span class=\"hljs-operator\">=<\/span> sqlSession.getMapper(YourMapper.class);\r\nList&lt;YourClass&gt; list = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ArrayList<\/span>&lt;&gt;();\r\n<span class=\"hljs-comment\">\/\/ \u7ec4\u88c5\u8981\u66f4\u65b0\u7684\u6570\u636e\u5217\u8868<\/span>\r\n<span class=\"hljs-type\">YourClass<\/span> <span class=\"hljs-variable\">item1<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">YourClass<\/span>();\r\nitem1.setId(<span class=\"hljs-number\">1<\/span>);\r\nitem1.setField1(newValue1);\r\nitem1.setField2(newValue2);\r\n<span class=\"hljs-comment\">\/\/ \u6dfb\u52a0\u66f4\u591a\u8981\u66f4\u65b0\u7684\u6570\u636e\u9879...<\/span>\r\nlist.add(item1);\r\n<span class=\"hljs-comment\">\/\/ \u6279\u91cf\u66f4\u65b0<\/span>\r\nmapper.updateBatch(list);\r\n<\/code><\/pre>\n<p>The above are the basic steps for batch updating multiple field data using MyBatis. Depending on your actual needs, you may need to adjust the specific implementation details in the SQL statements and Java code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MyBatis offers a method for batch updating multiple fields of data. Here is a common approach: Firstly, define a batch update method in the Mapper interface, as shown below: void updateBatch(List&lt;YourClass&gt; list); Write the corresponding SQL statements in the Mapper XML file and use the dynamic SQL foreach tag for batch update operations. An example [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-17646","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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>How can MyBatis update multiple fields of data in a batch? - Blog - Silicon Cloud<\/title>\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-multiple-fields-of-data-in-a-batch\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can MyBatis update multiple fields of data in a batch?\" \/>\n<meta property=\"og:description\" content=\"MyBatis offers a method for batch updating multiple fields of data. Here is a common approach: Firstly, define a batch update method in the Mapper interface, as shown below: void updateBatch(List&lt;YourClass&gt; list); Write the corresponding SQL statements in the Mapper XML file and use the dynamic SQL foreach tag for batch update operations. An example [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/\" \/>\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-15T15:26:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T11:24:10+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-mybatis-update-multiple-fields-of-data-in-a-batch\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"How can MyBatis update multiple fields of data in a batch?\",\"datePublished\":\"2024-03-15T15:26:21+00:00\",\"dateModified\":\"2024-03-21T11:24:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/\"},\"wordCount\":185,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/\",\"name\":\"How can MyBatis update multiple fields of data in a batch? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T15:26:21+00:00\",\"dateModified\":\"2024-03-21T11:24:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can MyBatis update multiple fields of data in a batch?\"}]},{\"@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":"How can MyBatis update multiple fields of data in a batch? - Blog - Silicon Cloud","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-multiple-fields-of-data-in-a-batch\/","og_locale":"en_US","og_type":"article","og_title":"How can MyBatis update multiple fields of data in a batch?","og_description":"MyBatis offers a method for batch updating multiple fields of data. Here is a common approach: Firstly, define a batch update method in the Mapper interface, as shown below: void updateBatch(List&lt;YourClass&gt; list); Write the corresponding SQL statements in the Mapper XML file and use the dynamic SQL foreach tag for batch update operations. An example [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T15:26:21+00:00","article_modified_time":"2024-03-21T11:24:10+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-mybatis-update-multiple-fields-of-data-in-a-batch\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"How can MyBatis update multiple fields of data in a batch?","datePublished":"2024-03-15T15:26:21+00:00","dateModified":"2024-03-21T11:24:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/"},"wordCount":185,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/","name":"How can MyBatis update multiple fields of data in a batch? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T15:26:21+00:00","dateModified":"2024-03-21T11:24:10+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-mybatis-update-multiple-fields-of-data-in-a-batch\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can MyBatis update multiple fields of data in a batch?"}]},{"@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\/17646","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=17646"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/17646\/revisions"}],"predecessor-version":[{"id":51270,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/17646\/revisions\/51270"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=17646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=17646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=17646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}