springboot+mybatis实现删除(二)

一,XML映射文件和动态SQL

  1. XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名),右键创建目录/分隔,例:com/baidu/crm

  2. XML映射文件的namespace属性为Mapper接口全限定名一致

  3. XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致

springboot+mybatis实现删除(二)_第1张图片

 

二,批量删除(批量删除的接口也可以删除一个)

1.controller:

    @DeleteMapping("/emps/{ids}")
    public Result delete(@PathVariable List ids){
        empService.delete(ids);
        return  Result.success();
    }

2.service:

    void delete(List ids);
    public void delete(List ids) {
        empMapper.delete(ids);
    }

3.mapper

  void delete(List ids);

XML映射文件,动态SQL

    
        delete from emp where  id in
        
            #{id}
        
    

三,删除单个

1.controller:

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Integer id){
        log.info("根据id删除部门:{}",id);
        deptService.delete(id);
        return Result.success();
    }

2.service: 

    void delete(Integer id);
 public void delete(Integer id) {
        deptMapper.deleteById(id);
    }

3.mapper 

    @Delete("delete from dept where id = #{id}")
    void deleteById(Integer id);

批量删除和单个删除功能的区别:

(1)传参的数据类型不同一个是list,另一个是integer。

(2)批量删除需要删除多个所以需要在XML映射文件写动态sql,删除单个的在mapper方法上面通过注解。

你可能感兴趣的:(springboot,mybatis,spring,boot,java)