SELECT mt.name,mt.license,mt.company_id,mt.id_card,mt.phone,mt.notes FROM company c LEFT JOIN muck_truck mt on mt.company_id=c.id controller层怎么写
时间: 2024-03-06 10:51:28 浏览: 113
假设您是在使用Java语言开发Web应用程序,以下是一个简单的Controller层的实现示例:
```java
@RestController
public class MuckTruckController {
@Autowired
private CompanyRepository companyRepository;
@Autowired
private MuckTruckRepository muckTruckRepository;
@GetMapping("/muck-trucks")
public List<MuckTruckDTO> getMuckTrucks() {
List<MuckTruckDTO> muckTruckDTOList = new ArrayList<>();
List<MuckTruck> muckTruckList = muckTruckRepository.findAll();
for (MuckTruck muckTruck : muckTruckList) {
Company company = companyRepository.findById(muckTruck.getCompanyId()).orElse(null);
if (company != null) {
MuckTruckDTO muckTruckDTO = new MuckTruckDTO();
muckTruckDTO.setName(muckTruck.getName());
muckTruckDTO.setLicense(muckTruck.getLicense());
muckTruckDTO.setCompanyId(company.getId());
muckTruckDTO.setIdCard(muckTruck.getIdCard());
muckTruckDTO.setPhone(muckTruck.getPhone());
muckTruckDTO.setNotes(muckTruck.getNotes());
muckTruckDTOList.add(muckTruckDTO);
}
}
return muckTruckDTOList;
}
// Other methods for handling create/update/delete operations for muck trucks and companies
}
```
上述代码中,我们使用了Spring Framework提供的@RestController注解来定义一个Controller类。该类中包含了getMuckTrucks()方法,用于处理获取所有Muck Truck的HTTP GET请求。
在该方法中,我们首先通过@Autowired注解将CompanyRepository和MuckTruckRepository注入到Controller中。然后,我们调用MuckTruckRepository的findAll()方法获取所有Muck Truck的列表。接着,我们遍历每一个Muck Truck,并通过其companyId属性获取其所属的Company对象。如果Company对象存在,则创建一个MuckTruckDTO对象,并将Muck Truck和Company的属性值设置到该DTO对象中。最后,将所有MuckTruckDTO对象添加到一个List中,并将该List作为HTTP响应返回。
当然,上述代码仅是一个简单的示例,实际开发中需要根据具体的业务需求来实现Controller层。
阅读全文