MyBatis-Plus逻辑删除

2021-06-18  本文已影响0人  文景大大

前文概要:《MyBatis-Plus使用入门》

我们先为实体类增加逻辑删除字段,并且表明逻辑删除的注解。

// 逻辑删除,0-未删除,1-已删除
@TableLogic(value = "0", delval = "1")
private Integer deleted;

然后,数据库表新增表示逻辑删除的字段:

ALTER TABLE zhangxun.zx_user DROP COLUMN deleted;
ALTER TABLE zhangxun.zx_user ADD deleted INT DEFAULT 0 NULL COMMENT '0-未删除;1-已删除';

这样就可以在对User进行删除时,并不是进行物理删除,而是利用deleted字段做逻辑删除了。

UPDATE zx_user SET deleted=1 WHERE user_id=? AND deleted=0

上面的例子只是对User实体进行删除时才有效果,如果想对全局实体类都做这样的配置,那么所有的实体类都得增加如上的逻辑删除字段和注解及其配置。其实还有一种全局配置的方法,使得实体类中只需要如下这样写,具体的删除逻辑定义写在配置文件中。

// 逻辑删除
@TableLogic
private Integer deleted;
# mybatis-plus逻辑删除全局配置
global-config.db-config.logic-delete-value=1
global-config.db-config.logic-not-delete-value=0

如此也能达到相同的效果。需要注意的事项如下:

上一篇 下一篇

猜你喜欢

热点阅读