您好,世界 2022-05-04 18:36 采纳率: 60%
浏览 35
已结题

删除关联数据,请问有简化的方法吗?那如果是45678层关联难道需要逐个去判断(语言-java)

问题

如果是多级关联删除还有跟好的解决方案吗?

问题相关代码
  public Result removePermissions(List<SysPermissions> permissionsList) {
        if (permissionsList.size() == 0) {
            return ResultData.fail(ResultMsg.PARAMS_ERROR);
        }
        // 遍历删除关联数据
        for (SysPermissions sysPermissions : permissionsList) {
            long menuExist = sysPermissionsMapper.selectCount(new QueryWrapper<SysPermissions>()
                    .eq(SysPermissions.PARENT_ID,sysPermissions.getId())
                    .last("limit 1"));
            if (menuExist > 0) {
                List<SysPermissions> menuList = sysPermissionsMapper.selectList(new QueryWrapper<SysPermissions>()
                        .eq(SysPermissions.PARENT_ID,sysPermissions.getId()));
                for (SysPermissions permissions : menuList) {
                    long eventExist = sysPermissionsMapper.selectCount(new QueryWrapper<SysPermissions>()
                            .eq(SysPermissions.PARENT_ID,permissions.getId())
                            .last("limit 1"));
                    if (eventExist > 0) {
                        List<SysPermissions> eventList = sysPermissionsMapper.selectList(new QueryWrapper<SysPermissions>()
                                .eq(SysPermissions.PARENT_ID,permissions.getId()));
                        sysPermissionsMapper.deleteBatchIds(eventList);
                    }
                }
                sysPermissionsMapper.deleteBatchIds(menuList);
            }
        }
        return ResultData.auto(sysPermissionsMapper.deleteBatchIds(permissionsList) > 0);
    }
  • 写回答

2条回答 默认 最新

  • 大黄瓜de冬天 2022-05-05 17:28
    关注

    删除关联有2种方式:1.java代码方式:批量删除或者一条一条删除,首先要有被删除的主键之类的做参数,查询到关联表的主键,然后依次删除关联表数据。2.数据库方式:https://blog.csdn.net/zou666zou/article/details/122752746

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 创建了问题 5月4日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看