数据库结构:全国省市区数据,
mybatis拿到List<实体类>集合,
要求最后形成map<String,List<String.>> 格式
map<'河北省' , List<'石家庄市', '唐山市' ,'秦皇岛市',>>
不能在for循环里面查询数据库
数据都有了,那你在代码里面过滤出来呗。
遍历所有的省,每遍历一个省,找出对应的市。存放在map集合中。
public Map<String, List<String>> getProvince() {
Map<String, List<String>> map = new HashMap<>();
List<SysProvinceStreetEntity> province = sysProvinceStreetService.getProvince();
List<SysProvinceStreetEntity> city = sysProvinceStreetService.getCity();
List<String> province_de_weight_list = province.stream().map(SysProvinceStreetEntity::getNameProvince).distinct().collect(Collectors.toList());
for(String pdwlist :province_de_weight_list){
List<String> citylist = new ArrayList<>();
for (SysProvinceStreetEntity o :city){
if (pdwlist .equals(o.getNameCity())){
citylist.add(o.getNameCounty());
}
}
map.put(pdwlist,citylist);
for (SysProvinceStreetEntity s : province) {
if (s.getNameProvince().equals(pdwlist)){
citylist.add(s.getNameCity());
}
}
map.put(pdwlist,citylist);
}
return map;
}