@Data @ApiModel(value = "飞行任务管理-后端列表页vo") public class BisTaskVO extends PageReqVO { @ApiModelProperty(value = "id") private Integer id; @ApiModelProperty(value = "逻辑删除 1是 0否") private Integer isDel; } 这是个VO类,用mybatis-plus写个批量逻辑删除
时间: 2023-11-22 15:56:40 浏览: 65
可以使用 MyBatis-Plus 提供的 `IService` 接口中的 `removeByIds` 方法来实现批量逻辑删除。具体实现步骤如下:
1. 在 `BisTaskMapper` 接口中新增一个方法 `deleteBatchLogicByIds`,用于批量逻辑删除任务。方法定义如下:
```java
public interface BisTaskMapper extends BaseMapper<BisTask> {
int deleteBatchLogicByIds(@Param("ids") List<Integer> ids);
}
```
2. 在 `BisTaskServiceImpl` 实现类中,注入 `BisTaskMapper` 接口,并实现 `deleteBatchLogicByIds` 方法。方法定义如下:
```java
@Service
public class BisTaskServiceImpl extends ServiceImpl<BisTaskMapper, BisTask> implements BisTaskService {
@Autowired
private BisTaskMapper bisTaskMapper;
@Override
public boolean deleteBatchLogicByIds(List<Integer> ids) {
return bisTaskMapper.deleteBatchLogicByIds(ids) > 0;
}
}
```
3. 在控制器中调用 `deleteBatchLogicByIds` 方法实现批量逻辑删除。示例代码如下:
```java
@RestController
@RequestMapping("/task")
public class BisTaskController {
@Autowired
private BisTaskService bisTaskService;
@PostMapping("/deleteBatch")
public Result deleteBatch(@RequestBody List<Integer> ids) {
if (CollectionUtils.isEmpty(ids)) {
return Result.fail("参数错误");
}
// 批量逻辑删除任务
boolean success = bisTaskService.deleteBatchLogicByIds(ids);
if (success) {
return Result.success();
}
return Result.fail("删除失败");
}
}
```
注意事项:
- `BisTask` 实体类中需要有 `isDel` 属性用于记录逻辑删除状态。
- 执行批量逻辑删除时,需要传入待删除任务的 id 列表。
- 执行成功时,返回 `Result.success()`,否则返回 `Result.fail()`。
阅读全文