{"id":18113,"date":"2024-03-15T16:16:10","date_gmt":"2024-03-15T16:16:10","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/"},"modified":"2024-03-21T12:31:57","modified_gmt":"2024-03-21T12:31:57","slug":"how-can-logical-deletion-be-implemented-in-mybatis-plus","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/","title":{"rendered":"How can logical deletion be implemented in MyBatis Plus?"},"content":{"rendered":"<p>The logic deletion feature of MyBatis-Plus can be implemented by adding a logical deletion flag field in the entity class and configuring the logic deletion method in the Mapper interface.<\/p>\n<p>Firstly, add a logical delete flag field to the entity class, for example:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">User<\/span> {\r\n    <span class=\"hljs-keyword\">private<\/span> Long id;\r\n    <span class=\"hljs-keyword\">private<\/span> String name;\r\n    <span class=\"hljs-keyword\">private<\/span> Integer age;\r\n    <span class=\"hljs-keyword\">private<\/span> Integer deleted; <span class=\"hljs-comment\">\/\/ \u903b\u8f91\u5220\u9664\u6807\u8bc6\u5b57\u6bb5<\/span>\r\n    <span class=\"hljs-comment\">\/\/ \u7701\u7565getter\u548csetter\u65b9\u6cd5<\/span>\r\n}\r\n<\/code><\/pre>\n<p>Next, configure the logical deletion method in the Mapper interface. You can use the @TableLogic annotation provided by MyBatis-Plus to identify the logical deletion field, for example:<\/p>\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> <span class=\"hljs-keyword\">extends<\/span> <span class=\"hljs-title class_\">BaseMapper<\/span>&lt;User&gt; {\r\n    <span class=\"hljs-meta\">@TableLogic<\/span>\r\n    <span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">deleteById<\/span><span class=\"hljs-params\">(Long id)<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>In the above configuration, the @TableLogic annotation is used to mark the field for logical deletion, and then in the deleteById method, the int data type is used as the return type to indicate the number of records deleted.<\/p>\n<p>Finally, call the deleteById method in the place where logical deletion is being used, for example:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Autowired<\/span>\r\n<span class=\"hljs-keyword\">private<\/span> UserMapper userMapper;\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">deleteUser<\/span><span class=\"hljs-params\">(Long id)<\/span> {\r\n    userMapper.deleteById(id);\r\n}\r\n<\/code><\/pre>\n<p>The above are the steps to implement logical deletion using MyBatis-Plus. By adding a logical deletion flag field and configuring the logical deletion method, you can easily achieve logical deletion functionality.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The logic deletion feature of MyBatis-Plus can be implemented by adding a logical deletion flag field in the entity class and configuring the logic deletion method in the Mapper interface. Firstly, add a logical delete flag field to the entity class, for example: public class User { private Long id; private String name; private Integer [&hellip;]<\/p>\n","protected":false},"author":5,"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-18113","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 logical deletion be implemented in MyBatis Plus? - 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-logical-deletion-be-implemented-in-mybatis-plus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can logical deletion be implemented in MyBatis Plus?\" \/>\n<meta property=\"og:description\" content=\"The logic deletion feature of MyBatis-Plus can be implemented by adding a logical deletion flag field in the entity class and configuring the logic deletion method in the Mapper interface. Firstly, add a logical delete flag field to the entity class, for example: public class User { private Long id; private String name; private Integer [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/\" \/>\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-15T16:16:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T12:31:57+00:00\" \/>\n<meta name=\"author\" content=\"Emily Johnson\" \/>\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=\"Emily Johnson\" \/>\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-logical-deletion-be-implemented-in-mybatis-plus\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/\"},\"author\":{\"name\":\"Emily Johnson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378\"},\"headline\":\"How can logical deletion be implemented in MyBatis Plus?\",\"datePublished\":\"2024-03-15T16:16:10+00:00\",\"dateModified\":\"2024-03-21T12:31:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/\"},\"wordCount\":165,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/\",\"name\":\"How can logical deletion be implemented in MyBatis Plus? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T16:16:10+00:00\",\"dateModified\":\"2024-03-21T12:31:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can logical deletion be implemented in MyBatis Plus?\"}]},{\"@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\/3b041b19cffc258705478ecfab895378\",\"name\":\"Emily Johnson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g\",\"caption\":\"Emily Johnson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How can logical deletion be implemented in MyBatis Plus? - 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-logical-deletion-be-implemented-in-mybatis-plus\/","og_locale":"en_US","og_type":"article","og_title":"How can logical deletion be implemented in MyBatis Plus?","og_description":"The logic deletion feature of MyBatis-Plus can be implemented by adding a logical deletion flag field in the entity class and configuring the logic deletion method in the Mapper interface. Firstly, add a logical delete flag field to the entity class, for example: public class User { private Long id; private String name; private Integer [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T16:16:10+00:00","article_modified_time":"2024-03-21T12:31:57+00:00","author":"Emily Johnson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Emily Johnson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/"},"author":{"name":"Emily Johnson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3b041b19cffc258705478ecfab895378"},"headline":"How can logical deletion be implemented in MyBatis Plus?","datePublished":"2024-03-15T16:16:10+00:00","dateModified":"2024-03-21T12:31:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/"},"wordCount":165,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/","name":"How can logical deletion be implemented in MyBatis Plus? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T16:16:10+00:00","dateModified":"2024-03-21T12:31:57+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-logical-deletion-be-implemented-in-mybatis-plus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can logical deletion be implemented in MyBatis Plus?"}]},{"@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\/3b041b19cffc258705478ecfab895378","name":"Emily Johnson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5cb4e73d02ab1d79f2dfe919389ff7c1de072baa97686392031c03d858cc358?s=96&d=mm&r=g","caption":"Emily Johnson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/emilyjohnson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18113","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=18113"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18113\/revisions"}],"predecessor-version":[{"id":51771,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/18113\/revisions\/51771"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=18113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=18113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=18113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}