springboot如何配置逻辑删除

  • Post author:
  • Post category:其他


在 Spring Boot 中使用逻辑删除的方式有很多种。下面是其中的一种方法:

  1. 为实体类添加一个 boolean 类型的字段,用于表示记录是否被删除。例如:
@Entity
public class User {
  @Id
  @GeneratedValue
  private Long id;

  private String name;

  private boolean deleted;

  // 省略 getter 和 setter
}
  1. 在数据库中为该字段添加约束,使得在删除记录时,自动将该字段置为 true。在 MySQL 中,可以使用触发器实现。例如:
CREATE TRIGGER trig_delete_user
AFTER DELETE ON user
FOR EACH ROW
BEGIN
  UPDATE user SET deleted = 1 WHERE id = OLD.id;
END
  1. 在 DAO 层中,在执行 SELECT 操作时,只查询 deleted = false 的记录。例如:
public interface UserRepository extends JpaRepository<User, Long> {
  List<User> findByDeletedFalse();
}

这样就可以在应用中使用逻辑删除了。在删除记录时,只需执行 DELETE 操作,就可以将记录的 deleted 字段置为 true,实现对数据的逻辑删除。



版权声明:本文为weixin_35754676原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。