springboot+mybatis实现删除(二)

一,XML映射文件和动态SQL

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

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

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

 

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

1.controller:

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

2.service:

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

3.mapper

  void delete(List<Integer> ids);

XML映射文件,动态SQL

    <delete id="delete">
        delete from emp where  id in
        <foreach collection="ids" item="id" separator="," open="(" close=")">
            #{id}
        </foreach>
    </delete>

三,删除单个

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方法上面通过注解。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值