逻辑删除--若依

思路:逻辑删除其实就是把delete 改为update

1.修改位置

 2.在数据库测试

 3.成功显示

 

### 关于 Magic-API 中实现逻辑删除的方法 在 Magic-API 中,逻辑删除是一种常见的需求,通常通过配置 SQL 或使用自定义脚本来实现。以下是一些实现逻辑删除的关键点和方法: #### 1. 数据库字段设计 为了支持逻辑删除,需要在数据库表中添加一个标记字段(如 `is_deleted`),用于标识记录是否已被删除。该字段的默认值通常为 `0`(表示未删除),当执行逻辑删除时,将其更新为 `1`。 ```sql ALTER TABLE your_table ADD COLUMN is_deleted TINYINT DEFAULT 0; ``` #### 2. 配置 SQL 查询以过滤已删除记录 在 Magic-API 的 SQL 编辑器中,可以通过动态 SQL 实现查询时自动过滤掉已删除的记录。例如,在查询语句中加入条件 `is_deleted = 0`[^2]。 ```sql SELECT * FROM your_table WHERE is_deleted = 0; ``` #### 3. 使用 Magic-API 的自定义脚本功能 Magic-API 支持基于 `magic-script` 的脚本引擎,可以编写动态脚本来实现逻辑删除的功能。例如,创建一个脚本方法来更新 `is_deleted` 字段。 ```javascript // 示例:逻辑删除脚本 function logicalDelete(id) { const sql = "UPDATE your_table SET is_deleted = 1 WHERE id = ?"; return execute(sql, [id]); } ``` #### 4. 配置拦截器或权限控制 如果需要在整个系统中统一处理逻辑删除,可以通过 Magic-API 的拦截器功能实现。拦截器可以在请求到达数据库之前,自动添加 `is_deleted = 0` 的过滤条件[^2]。 ```java // 示例:Spring AOP 拦截器 @Aspect @Component public class LogicalDeleteInterceptor { @Around("execution(* com.example.service.*.*(..))") public Object around(ProceedingJoinPoint joinPoint) throws Throwable { // 在查询前添加 is_deleted = 0 的条件 // 具体实现取决于业务逻辑 return joinPoint.proceed(); } } ``` #### 5. 自动生成接口文档 通过配置上述逻辑删除功能后,Magic-API 还支持生成包含逻辑删除功能的 Swagger 接口文档。这有助于开发者快速了解和测试逻辑删除相关的接口。 --- ### 注意事项 - 确保在所有涉及该表的查询中都加入了 `is_deleted = 0` 的过滤条件,否则可能会导致已删除的数据被误读。 - 如果使用了分页查询,也需要确保分页逻辑中包含逻辑删除的过滤条件。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值