在 Spring Boot 中使用逻辑删除的方式有很多种。下面是其中的一种方法:
- 为实体类添加一个 boolean 类型的字段,用于表示记录是否被删除。例如:
@Entity
public class User {
@Id
@GeneratedValue
private Long id;
private String name;
private boolean deleted;
// 省略 getter 和 setter
}
- 在数据库中为该字段添加约束,使得在删除记录时,自动将该字段置为 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
- 在 DAO 层中,在执行 SELECT 操作时,只查询 deleted = false 的记录。例如:
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByDeletedFalse();
}
这样就可以在应用中使用逻辑删除了。在删除记录时,只需执行 DELETE 操作,就可以将记录的 deleted 字段置为 true,实现对数据的逻辑删除。
版权声明:本文为weixin_35754676原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。