copy父子孙使用java整理好新旧id的关系

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 该代码片段包含两个主要步骤。首先,通过`insertBatchIdx`方法创建老子(旧规则)与新子(新规则)的ID映射关系,并将更新后的记录插入数据库。然后,遍历所有老孙子(旧子规则的子项),依据新ID映射设置新子的idxId,将这些新孙子批量插入数据库,分批处理以优化性能。

不看父了,从子看
1、先得到老子和新子的id对应关系
private Map insertBatchIdx(Map newRuleMap, List oldRuleIdxList) {
Map newRuleIdxMap = new HashMap<>();
for (AssessRulesIdxDO assessRulesIdxDO : oldRuleIdxList) {
Long oldIdxId = assessRulesIdxDO.getId();
assessRulesIdxDO.setId(null);
assessRulesIdxDO.setAssessRulesId(newRuleMap.get(assessRulesIdxDO.getAssessRulesId()));
assessRulesIdxMapper.insert(assessRulesIdxDO);
newRuleIdxMap.put(oldIdxId,Long.valueOf(assessRulesIdxDO.getId()));
}
return newRuleIdxMap;
}
2、查出所有的老孙子,根据对应关系设置成新子的idxId,然后一次性批量插入新孙子

for (Map.Entry> longListEntry : radioMap.entrySet()) {
List value = longListEntry.getValue();
for (AssessRulesDcpRatioDO assessRulesDcpRatioDO : value) {
assessRulesDcpRatioDO.setId(null);
assessRulesDcpRatioDO.setAssessRulesIdxId(newRuleIdxMap.get(assessRulesDcpRatioDO.getAssessRulesIdxId()));
rotioList.add(assessRulesDcpRatioDO);
}
}
if(CollUtil.isNotEmpty(rotioList)) {
List> partitionList = Lists.partition(rotioList, IndexConstants.BATCH_SIZE);
for (List ratioDOS : partitionList) {
assessRulesDcpRatioMapper.insertList(ratioDOS);
}
}

目录
相关文章
|
2月前
|
Web App开发 存储 JavaScript
《手把手教你》系列技巧篇(八)-java+ selenium自动化测试-元素定位大法之By id(详细教程)
【2月更文挑战第17天】本文介绍了Web自动化测试的核心——元素定位。文章首先强调了定位元素的重要性,指出找不到元素则无法进行后续操作。Selenium提供八种定位方法,包括By id、name、class name等。其中,By id是最简单快捷的方式。文章还阐述了自动化测试的步骤:定位元素、操作元素、验证结果和记录测试结果。此外,讨论了如何选择定位方法,推荐优先使用简单稳定的方式,如id,其次考虑其他方法。最后,作者提供了Chrome浏览器的开发者工具作为定位元素的工具,并给出了通过id定位的代码示例。
76 0
|
1天前
|
Java
copy父子孙使用java整理好新旧id的关系
该代码片段包含两个主要步骤:1)通过遍历`oldRuleIdxList`,更新老子ID为新子ID,并将新规则ID映射关系存入`newRuleIdxMap`,然后批量插入新规则。2)遍历`radioMap`,根据`newRuleIdxMap`更新所有老孙子的`idxId`为新子ID,批量插入新孙子,分批处理以优化性能。
5 1
|
24天前
|
Java
JAVA生成根据用户id唯一订单号,并发下唯一
JAVA生成根据用户id唯一订单号,并发下唯一
|
2月前
|
算法 NoSQL Java
Java实战:分布式ID生成方案
在分布式系统的设计与开发过程中,如何生成全局唯一、有序且高可用的ID是一个绕不开的核心问题。尤其是在电商、社交网络、金融交易等领域,ID不仅是业务数据的重要标识,还可能直接影响系统的稳定性和扩展性。本文将深入剖析分布式ID生成方案的设计原则、常见算法,并通过Java示例展示一种可行的实现方式。
86 2
|
2月前
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
Cause: java.sql.SQLIntegrityConstraintViolationException: Column ‘id‘ in field list is ambiguous
30 0
|
2月前
|
Java
Error:(15, 13) java: No property named “id” exists in source parameter(s). Did you mean “null”?
Error:(15, 13) java: No property named “id” exists in source parameter(s). Did you mean “null”?
54 1
|
11月前
|
XML JSON 缓存
Java实现根据商品ID请求京东工业商品详情数据方法
Java实现根据商品ID请求京东工业商品详情数据方法
74 0
|
11月前
|
关系型数据库 Java MySQL
Java 最常见的面试题:一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?
Java 最常见的面试题:一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?
|
11月前
|
XML Java Android开发
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
114 0
|
11月前
|
XML JSON Java
Java实现根据商品ID请求震坤行商品详情数据方法
Java实现根据商品ID请求震坤行商品详情数据方法
71 0