//多个list 使用相同的转换,提出一个方法作为共同utils方法
public void SaveManyList(List list, Long productId, IService service){
// 如果数据为空 或者长度为0 不做任何操作
if(CollectionUtil.isEmpty(list)) return;
try {
// 循环 反射 赋值商品id
for (Object obj : list) {
//这几个list集合都有这个 setProductId 方法,通过类反射获取各自对应类的set方法
Method setProductIdMethod = obj.getClass().getMethod("setProductId", Long.class);
// 在修改状态清除主键id
//Method setId = obj.getClass().getMethod("setId", Long.class);
//setId.invoke(obj,(Long)null);
// 调用setProductId,通过invoke方法加入obj的值
setProductIdMethod.invoke(obj, productId);
}
//保存集合list,一般使用service中的saveBatch进行保存
service.saveBatch(list);
}
catch (Exception ex){
throw new RuntimeException(ex);
}
}
|