select a.*
from user a
left join school b on a.id=b.userId
一个用户对应多个学校查出多条数据,把用户提出来,多个学校变成数组查询出来:
例:用户:
用户名:,
用户id:,
用户密码:,
schoolChild:{
学校名: ,
学校地点:
},
{
学校名: ,
学校地点:
},
{
学校名: ,
学校地点:
}
实体类:response:
private String userName,
private Integer userId,
private String userPassword,
private String schoolName,
private String schooleAdress,
private List<School> schoolChild,
工具类:GroupingUtil:
public statics List<response> grouping(List<response> list){
List<Integer> ids=new ArrayList<>();
List<response> responses=new ArrayList<>();
for(response dto1:list){
if(ids.contains(dto1.getId())){
continue;
}
ids.add(dto1.getId())
for(response dto2:list){
List<School> schoolList=new ArrayList<>();
if(dto1.getId()==dto2.getId()){
School school=new School(); //实体类写在里面,写在外面数组会重复
school.setSchoolName(dto2.getSchoolName);
school.setSchoolAdress(dto2.getSchoolAdress);
schoolList.add(school);
}
dto1.setSchoolChild(schoolList);
}
responses.add(dto1);
}
return responses;
}