大家好,欢迎来到IT知识分享网。
特别是互联网项目,对于数据一般是不能删除的(涉及到后面的数据分析),这就涉及到逻辑删除。所谓逻辑删除指的是数据并不是真正的删除,只是改数据表对应数据的状态(数据表中通常有一列叫delflag,以此标识正常状态或删除状态)。逻辑删除一般都是更新操作,但写大量更新方法无疑是增加代码量,mybatis-plus又是如何实现逻辑删除的呢?其实很简单一共两步。
一、配置文件配置
mybatis-plus:
global-config:
db-config:
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
二、数据模型实体添加注解
使用 @tablelogic注解
package com.blog.tutorial.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.model;
import lombok.data;
import java.util.date;
/**
*
* *
* * @author youcong
* @since 2020-04-18
*/@data
@tablename(“wp_users”)
public class users extends model {
private static final long serialversionuid = 1l;
@tableid(value = “id”, type = idtype.auto)
private long id;
@tablefield(“user_login”)
private string userlogin;
@tablefield(“user_pass”)
private string userpass;
@tablefield(“user_nicename”)
private string usernicename;
@tablefield(“user_email”)
private string useremail;
@tablefield(“user_url”)
private string userurl;
@tablefield(“user_registered”)
private date userregistered;
@tablefield(“user_activation_key”)
private string useractivationkey;
@tablelogic
@tablefield(“user_status”)
private integer userstatus;
@tablefield(“display_name”)
private string displayname;
}
完成上面两步,在第三步我们可以进行测试。
三、测试
删除用户表的这个用户,如图:
数据是否删除在于user_status是否改变,如果变成1,说明逻辑删除生效。
如果user_status还是为0或者这条数据不在了(物理删除了),说明逻辑删除失效。
测试controller代码:
@postmapping(“/del”)
public map del(integer id) {
map returnmap = new hashmap<>();
returnmap.put(“code”, “200”);
returnmap.put(“msg”, “删除成功”);
usersservice.removebyid(id);
return returnmap;
}
使用postman测试,如图:
控制台打印,如图:
刷新数据表,查看该用户数据是否变动,如图:
果然变动了,说明逻辑删除生效。
到此这篇关于mybatis-plus之逻辑删除的实现的文章就介绍到这了,更多相关mybatis-plus 逻辑删除内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!
希望与广大网友互动??
点此进行留言吧!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22007.html