0


List和Map多层嵌套,采用Object简化

  1. @Service
  2. public class VariableDataServiceImpl implements IVariableDataService {
  3. @Autowired
  4. private VariableDataMapper variableDataMapper;
  5. @Autowired
  6. private VariableMapper variableMapper;
  7. @Override
  8. public List<VariableData> selectVariableDataList(VariableDataVo variableData) {
  9. return variableDataMapper.selectVariableDataList(variableData);
  10. }
  11. /* @Override
  12. public List<Map<String, Object>> selectVariableDataListall(VariableDataVo variableData) {
  13. //拿到所有数据存入集合(所有变量id)
  14. List<Integer> VariableIds = variableDataMapper.findDifVariableId(variableData);
  15. //创建map集合,根据变量id存储.
  16. List<Map<String, Object>> variableDataHashMap = new ArrayList<>();
  17. Map<String, Object> map = null;
  18. map = new HashMap<>();
  19. map.put("collect_time", variableDataMapper.findTimeByVariableId(variableData));
  20. variableDataHashMap.add(map);
  21. if (!CollectionUtils.isEmpty(VariableIds)) {
  22. //遍历集合,根据变量id不同,存入不同的集合中
  23. for (Integer variableId : VariableIds) {
  24. map = new HashMap<>();
  25. Variable variable = variableMapper.selectById(variableId);
  26. // map.put("name",variable.getName());
  27. // map.put("value", variableDataMapper.findListByVariableId(variableId));
  28. map.put(variable.getName(), variableDataMapper.findListByVariableId(variableId));
  29. variableDataHashMap.add(map);
  30. }
  31. }
  32. return variableDataHashMap;
  33. }*/
  34. @Override
  35. //集合归总Map<String,List<Map<String, list<String>>>>
  36. public Map<String, Object> selectVariableDataListall(VariableDataVo variableData) {
  37. //(第一层)创建map集合,存储数据,返回给前端
  38. Map<String, Object> variableDataHashMap = new HashMap<>();
  39. //将所有采集时间添加进map
  40. variableDataHashMap.put("collect_time", variableDataMapper.findTimeByVariableId(variableData));
  41. //拿到所有数据存入集合(查出所有变量id)
  42. List<Integer> VariableIds = variableDataMapper.findDifVariableId(variableData);
  43. //(第二层)创建list集合存储查询的数据
  44. List<Map<String, Object>> datelist = new ArrayList<>();
  45. //(第三层)创建map集合存储map<key,list<String>>
  46. Map<String, Object> map = null;
  47. if (!CollectionUtils.isEmpty(VariableIds)) {
  48. //遍历集合,根据变量id不同,存入不同的集合中
  49. for (Integer variableId : VariableIds) {
  50. map = new HashMap<>();
  51. //根据变量id查找数据库对应的值(同一id对应多条数据)
  52. Variable variable = variableMapper.selectById(variableId);
  53. //存入集合(变量名,{值1,值2,....})
  54. map.put(variable.getName(), variableDataMapper.findListByVariableId(variableId));
  55. datelist.add(map);
  56. }
  57. }
  58. variableDataHashMap.put("data", datelist);
  59. return variableDataHashMap;
  60. }
  61. }


本文转载自: https://blog.csdn.net/qq_45927587/article/details/128387412
版权归原作者 白菜园子 所有, 如有侵权,请联系我们删除。

“List和Map多层嵌套,采用Object简化”的评论:

还没有评论