springboot+spring data jpa编写删除和批量删除

本文详细介绍了如何在RESTful API中实现数据的批量删除和单个删除操作,包括controller、service和repository三个层级的具体实现代码。通过使用Spring Boot框架,展示了如何利用@DeleteMapping和@Modifying注解来实现高效的数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上一个批量新增后,再次给大家带来的是删除和批量删除的方法
先说删除吧,删除只是根据id来说的
上代码了~~~~
controller层:

@DeleteMapping(value = "/deletebyId")
    @ApiOperation(value = "事务删除", notes = "根据id进行删除")
    public void deletebyId(Integer id) {
        demoService.deleteById(id);
    }

service层:

public void deleteById(Integer id) {
        demoRepository.deleteById(id);
    }

repository层:
在这里插入图片描述

是不是认为完了? 确实是完了,就这么简单,就这么尿性。。短短几行就搞定了。 调的还是内部的固有方法。
是不是没看完?
那就在看看批量删除吧~~~*
controller层:

@DeleteMapping(value = "String/batch/deletebyId")
    @ApiOperation(value = "批量删除(事务删除)", notes = "根据id进行批量删除")
    public Map<String, Object> deletes(String id) {

        //replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
        //regex -- 匹配此字符串的正则表达式. newChar -- 用来替换每个匹配项的字符串  也叫后者代替前者
        String t = id.replaceAll("\\\"", "");

      // String replaceAll = t.replace("[", "").replace("]", "");

        Map<String,Object> resultMap = new HashMap<>();
        String[] str = t.split(",");
        List<Integer> list = new ArrayList<>();
        for (String l : str) {
            Integer i = Integer.valueOf(l);
            list.add(i);
        }
        Integer map =  demoService.deleteSysAdminUser(list);
        System.out.println("map = " + map);
        if (map == 0){
            resultMap.put("code", "0001");
            resultMap.put("message", "您删除的数据中,有不存在的数据");

        }else {
            resultMap.put("code", "0000");
            resultMap.put("message", "删除成功");
        }
        return resultMap;

    }

需要说明一下。你若是Integer类型的id也可以在代码开始时,将整数类型的转化为String类型的,也是可用的。

service层:

 public Integer deleteSysAdminUser(List<Integer> id) {
        Integer map = demoRepository.deleteSysAdminUser(id);
        return map;
    }

repository层:

 @Modifying  //一般在删除或者修改的时候用  用来标明是一个删除或者修改的标识
    @Transactional
    @Query("delete from  SysAdminUser where id in (:id)")
    Integer deleteSysAdminUser(@Param("id") List<Integer> id);

这个时候就要使用原生sql给它注入了。。。
今天的先到这里。。有问题的可以留言哈。。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值