<!-- 动态生成实体类 -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>
工具类地址
https://blog.csdn.net/qq_35226176/article/details/86623966
public Map<String, Object> drillTableInfos(String trainManagerId) {
// 动态表头存储
Map<String, Object> tableMap = new LinkedHashMap<>();
tableMap.put("className", "班级名称");
tableMap.put("studentName", "姓名");
tableMap.put("userId", "用户编号");
tableMap.put("totalPoints", "总成绩");
tableMap.put("ranking", "排名");
return tableMap;
}
public TSResult trainStudentExamInfos(String trainManagerId,String orgId) {
//加载动态表头
Map<String, Object> tableMap = drillTableInfos(trainManagerId);
//动态实体类
DynamicBean dynamicBean = null;
//存储最终结果
Map<String, Object> newBeanMap = new HashMap<String, Object>();
//存储
List<Object> objects = new ArrayList<>();
//获取查询数据的集合
List<Object> objectList = new ArrayList<>();
for (Object com : objectList) {
for (Entry<String, Object> table : tableMap.entrySet()) {
newBeanMap.put(table.getKey(), Object.class);
}
dynamicBean = new DynamicBean(newBeanMap); // 给指定属性赋值 //
//对应表头的 key objectList 里的属性
dynamicBean.setValue("className", objectList.getUserName());
dynamicBean.setValue("studentName", objectList.getTrainName());
dynamicBean.setValue("userId", objectList.getOrgName());
dynamicBean.setValue("totalPoints", objectList.getTotalPoints());
dynamicBean.setValue("ranking", objectList.getUserId());
objects.add(dynamicBean);
}
return TSResult.success(objects);
}