public Integer deleteByIds(List<Integer> ids) { } 用这个方法写个逻辑删除,用mybatis-plus,这是VO类 @Data @ApiModel(value = "飞行任务管理-后端列表页vo") public class BisTaskVO extends PageReqVO implements Serializable { @ApiModelProperty(value = "id") private Integer id; @ApiModelProperty(value = "逻辑删除 1是 0否") private Integer isDel; @TableField(exist = false) private List<Integer> ids; } 再用DataResult写个调用方法,不要写mapper和sql
时间: 2024-01-07 16:06:00 浏览: 21
好的,以下是一个简单的逻辑删除实现:
```
@Service
public class BisTaskService {
@Autowired
private BisTaskMapper bisTaskMapper;
public DataResult deleteByIds(List<Integer> ids) {
int count = bisTaskMapper.deleteBatchIds(ids);
if (count > 0) {
return DataResult.success();
} else {
return DataResult.fail("删除失败");
}
}
public DataResult logicDeleteByIds(List<Integer> ids) {
int count = bisTaskMapper.logicDeleteByIds(ids);
if (count > 0) {
return DataResult.success();
} else {
return DataResult.fail("删除失败");
}
}
}
```
这里定义了两个方法,一个是直接删除的 `deleteByIds()` 方法,另一个是逻辑删除的 `logicDeleteByIds()` 方法。其中,`BisTaskMapper` 是对应的 Mapper 接口。
```
@Mapper
public interface BisTaskMapper extends BaseMapper<BisTask> {
int logicDeleteByIds(List<Integer> ids);
}
```
`logicDeleteByIds()` 方法是通过 Mybatis-Plus 提供的 `deleteBatchIds()` 方法实现的,它会自动生成对应的 SQL 语句进行批量删除操作。而 `logicDeleteByIds()` 方法则需要手动在 Mapper 接口中编写对应的 SQL,例如:
```
<update id="logicDeleteByIds">
update bis_task set is_del = 1 where id in
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</update>
```
以上是一个简单的逻辑删除示例,具体实现还需要按照自己的需求进行调整。