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在controller写个调用方法,不要写mapper和sql
时间: 2024-01-09 17:04:13 浏览: 79
好的,可以参考下面的代码实现逻辑删除:
首先在实体类中添加isDel属性表示是否被删除,isDel为1表示已删除,为0表示未删除。同时,添加一个ids属性,用于接收需要删除的id列表。
```
@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;
}
```
然后在mapper中添加一个逻辑删除的方法,使用mybatis-plus的注解@Update来更新is_del字段为1。
```
public interface BisTaskMapper extends BaseMapper<BisTask> {
@Update("update bis_task set is_del = 1 where id in (${ids})")
Integer logicDeleteByIds(@Param("ids") String ids);
}
```
在service中调用mapper的逻辑删除方法,传入需要删除的id列表,将id列表转化为逗号分隔的字符串,然后调用mapper的逻辑删除方法。
```
@Service
public class BisTaskService extends ServiceImpl<BisTaskMapper, BisTask> {
@Autowired
private BisTaskMapper bisTaskMapper;
public DataResult<Object> logicDeleteByIds(BisTaskVO bisTaskVO) {
List<Integer> ids = bisTaskVO.getIds();
String idsStr = StringUtils.join(ids, ",");
Integer result = bisTaskMapper.logicDeleteByIds(idsStr);
return DataResult.success(result);
}
}
```
最后,在controller中调用service的逻辑删除方法即可。
```
@RestController
@RequestMapping("/bisTask")
public class BisTaskController {
@Autowired
private BisTaskService bisTaskService;
@PostMapping("/logicDeleteByIds")
public DataResult<Object> logicDeleteByIds(@RequestBody BisTaskVO bisTaskVO) {
return bisTaskService.logicDeleteByIds(bisTaskVO);
}
}
```
阅读全文