JpA使用自定义类接收数据库返回的结果集

男娘i 2021-09-24 04:50 484阅读 0赞

个人资源与分享网站:http://xiaocaoshare.com/

1.自定义类

@Data
public class ContractAttachDto {

  1. private String contractNo;
  2. private String houseBillNo;
  3. private String fileName;
  4. private String houseName;
  5. private List<String> url=new ArrayList<>();

}

2.dao接口

@Query(value=”SELECT h.contract_no,s.file_name,h.house_name from system_sys_attachment s,hb_contract_out h where h.id=s.src_bill_no and not h.contract_no like ‘%PRE%’ and h.contract_end_type is null and s.src_type=’HB_CONTRACT_OUT’”,nativeQuery=true)
List findAllByAttact();

3.控制器

@ApiOperation(value=”查询所有的线下出房合同”)
@GetMapping(“findAllHbContractOut”)
public ErrorObject findAllHbContractOut() {
ErrorObject error=new ErrorObject();
Map map=new HashMap<>();
List dtoList=new ArrayList();
List list2=new ArrayList();
List objectList=hbContractOutService.findAllByAttact();
for (Object[] objects : objectList) {
ContractAttachDto dto=new ContractAttachDto();
dto.setContractNo(objects[0]+””);
dto.setHouseBillNo(objects[1]+””);
dto.setFileName(objects[2]+””);
dto.setHouseName(objects[3]+””);
dtoList.add(dto);
}

  1. for (ContractAttachDto dto : dtoList) \{
  2. if(map.containsKey(dto.getContractNo())) \{
  3. List<String> urls=map.get(dto.getContractNo()).getUrl();
  4. urls.add("/upload/viewImg/"+dto.getFileName());
  5. dto.setUrl(urls);
  6. map.put(dto.getContractNo(), dto);
  7. \}else \{
  8. List<String> urls=new ArrayList<>();
  9. urls.add("/upload/viewImg/"+dto.getFileName());
  10. dto.setUrl(urls);
  11. map.put(dto.getContractNo(), dto);
  12. \}
  13. \}
  14. for(Map.Entry<String, ContractAttachDto> entry:map.entrySet()) \{
  15. list2.add(entry.getValue());
  16. \}
  17. error.setMap(UtilPublic.toModelMap(list2));
  18. return error;
  19. \}

发表评论

表情:
评论列表 (有 0 条评论,484人围观)

还没有评论,来说两句吧...

相关阅读