数据封装
在开发中刚刚接触到了数据的封装,项目需求要我们封装一个如下的数据格式,由于经验不足困扰许久
mydata: {
'父类id': [
{
id: 子类id,
label: '子类名字',
},
{
id: 子类id,
label: '子类名字',
},
]
},
经过多方查询,终于搞出来一版实现模式如下
//定义一个list集合承接我查询到的数据
List<PiontType> list = riskPiontTypeMapper.chaxun();
//这里用到了HashMap集合,键值对,键为父id,值为查到的子数据的集合
HashMap<Long, ArrayList<PointType1>> hashMaps = new HashMap<>();
// 对查询出来的数据进行遍历
for (PiontType piontType : list) {
// 获取父类id
Long pointId = piontType.getPointId();
// 根据父类id查询子类信息
QueryWrapper<PiontType> listQueryWrapper = new QueryWrapper<PiontType>();
listQueryWrapper.eq("point_id", pointId);
List<PiontType> piontTypes1 = piontTypeMapper.selectList(listQueryWrapper);
//由于我的数据格式和查询出来的数据类型和前端需要不同,我又重新定义了一个模型来承接所需的类型
ArrayList<PointType1> PointTypes = new ArrayList<PointType1>();
// 对新集合进行遍历赋值
for (PiontType piontType : PiontTypes1) {
PointType1 pointType1 = new PointType1();
pointType1.setId(aqMkFxRiskPiontType.getRiskTypeId());
pointType1.setLabel(aqMkFxRiskPiontType.getRiskType());
pointType1.setRiskPointId(aqMkFxRiskPiontType.getRiskPointId());
PointTypes.add(pointType1);
}
// 将查询出来需要的内容放到hashMap中
hashMaps.put(pointId, PointTypes);
}
由于经验不足,该方法可能是比较笨的方法,如果哪位大神有更好的方法,可以说一下,小弟想继续学习一下

浙公网安备 33010602011771号