mybatis-plus提供了4个删除方法:

/**
 * 根据 ID 删除
 *
 * @param id 主键ID
 */
int deleteById(Serializable id);
  
/**
 * 根据 columnMap 条件,删除记录
 *
 * @param columnMap 表字段 map 对象
 */
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
  
/**
 * 根据 entity 条件,删除记录
 *
 * @param wrapper 实体对象封装操作类(可以为 null)
 */
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
  
/**
 * 删除(根据ID 批量删除)
 *
 * @param idList 主键ID列表(不能为 null 以及 empty)
 */
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);

我们先讲下deleteById,deleteByMap,deleteBatchIds方法,delete方法我们放条件构造器里一起讲;

实例:

@Test
public void deleteById(){
    int affectRows = departmentMapper.deleteById(10);
    if(affectRows>0){
         System.out.println("删除成功");
    }else{
         System.out.println("删除失败");
    }
}
  
@Test
public void deleteByMap(){
    Map<String,Object> map=new HashMap<>();
    map.put("name","你好部门5");
    map.put("remark","xxx");
    int affectRows = departmentMapper.deleteByMap(map);
    if(affectRows>0){
         System.out.println("删除成功");
    }else{
         System.out.println("删除失败");
    }
}
  
@Test
public void deleteBatchIds(){
    List<Integer> idList=new LinkedList<>();
    idList.add(11);
    idList.add(12);
    idList.add(13);
    int affectRows =departmentMapper.deleteBatchIds(idList);
    if(affectRows>0){
         System.out.println("删除成功");
    }else{
         System.out.println("删除失败");
    }
  
}