Java一对多结构的封装方法

来源:互联网 发布:ubuntu qq2016 编辑:程序博客网 时间:2024/05/17 18:43

封装方法:
public Collection<AddLabourCostDetailReturnDto> echoData(String userId) {    List<AddLabourCostDetailDto> list = compactDao.echoData(userId);    if (list.size() == 0) {        return Collections.EMPTY_LIST;    }    Map<Integer, AddLabourCostDetailReturnDto> map = new HashMap();    for (AddLabourCostDetailDto dto : list) {        AddLabourCostDetailReturnDto rdto = map.get(dto.getEnterpriseId());        if (ValidateUtil.objectIsNull(rdto)) {            rdto = new AddLabourCostDetailReturnDto();            rdto.setEnterpriseName(dto.getEnterpriseName());            rdto.setEnterpriseId(dto.getEnterpriseId());            List<AddLabourCostDetailProjectsDto> projects = new ArrayList<>();            rdto.setProjects(projects);            map.put(dto.getEnterpriseId(),rdto);        }        rdto.getProjects().add(new AddLabourCostDetailProjectsDto(dto.getProjectId(),dto.getProjectName()));    }    Collection<AddLabourCostDetailReturnDto> enterprises = map.values();    return enterprises;}


一、AddLabourCostDetailReturnDto 类(最终要的结构)

public class AddLabourCostDetailReturnDto {    private Integer enterpriseId;    private String enterpriseName;    private List<AddLabourCostDetailProjectsDto> projects;    public Integer getEnterpriseId() {        return enterpriseId;    }    public void setEnterpriseId(Integer enterpriseId) {        this.enterpriseId = enterpriseId;    }    public String getEnterpriseName() {        return enterpriseName;    }    public void setEnterpriseName(String enterpriseName) {        this.enterpriseName = enterpriseName;    }    public List<AddLabourCostDetailProjectsDto> getProjects() {        return projects;    }    public void setProjects(List<AddLabourCostDetailProjectsDto> projects) {        this.projects = projects;    }}

二、 AddLabourCostDetailDto 类(数据库查出的结构)
public class AddLabourCostDetailDto {    private Integer enterpriseId;    private String enterpriseName;    private Integer projectId;    private String projectName;    public Integer getEnterpriseId() {        return enterpriseId;    }    public void setEnterpriseId(Integer enterpriseId) {        this.enterpriseId = enterpriseId;    }    public String getEnterpriseName() {        return enterpriseName;    }    public void setEnterpriseName(String enterpriseName) {        this.enterpriseName = enterpriseName;    }    public Integer getProjectId() {        return projectId;    }    public void setProjectId(Integer projectId) {        this.projectId = projectId;    }    public String getProjectName() {        return projectName;    }    public void setProjectName(String projectName) {        this.projectName = projectName;    }}
三、 AddLabourCostDetailProjectsDto 类
public class AddLabourCostDetailProjectsDto {    private Integer projectId;    private String projectName;    public AddLabourCostDetailProjectsDto(){}    public AddLabourCostDetailProjectsDto(Integer projectId, String projectName) {        this.projectId = projectId;        this.projectName = projectName;    }    public Integer getProjectId() {        return projectId;    }    public void setProjectId(Integer projectId) {        this.projectId = projectId;    }    public String getProjectName() {        return projectName;    }    public void setProjectName(String projectName) {        this.projectName = projectName;    }}


原创粉丝点击