封裝查詢結(jié)果的屬性
返回一部分屬性
如果你想將查詢結(jié)果返回給前端,你可以使用自定義的 DTO(數(shù)據(jù)傳輸對象)來封裝查詢結(jié)果,并將 DTO 對象作為響應(yīng)返回給前端。
以下是一個示例代碼,展示了如何使用自定義的 DTO 封裝查詢結(jié)果,并將 DTO 對象作為響應(yīng)返回給前端:
首先,你需要創(chuàng)建一個 DTO 類,用于封裝查詢結(jié)果的屬性:
```java
public class CustomerDTO {
? ? private Long id;
? ? private String customerName;
? ? private Date nextTime;
? ? private Date updateTime;
? ? private Date createTime;
? ? // 省略構(gòu)造函數(shù)和 getter/setter 方法
}
```
然后,你可以在 Mapper XML 文件中使用 `@Results` 注解將查詢結(jié)果映射到 DTO 類:
```xml
<select id="selectCustomer" resultMap="customerResultMap">
? ? select id, customer_name, next_time, update_time, create_time
? ? from crm_customer
? ? where is_deleted = 0
</select>
@Results(id = "customerResultMap", value = {
? ? @Result(property = "id", column = "id"),
? ? @Result(property = "customerName", column = "customer_name"),
? ? @Result(property = "nextTime", column = "next_time"),
? ? @Result(property = "updateTime", column = "update_time"),
? ? @Result(property = "createTime", column = "create_time")
})
List<CustomerDTO> selectCustomer();
```
在這個示例中,我們將查詢結(jié)果映射到了 `CustomerDTO` 類中的屬性。
接下來,你可以在 Service 層調(diào)用這個查詢方法,并將結(jié)果返回給 Controller 層:
```java
@Service
public class CustomerServiceImpl implements CustomerService {
? ? @Autowired
? ? private CustomerMapper customerMapper;
? ? @Override
? ? public List<CustomerDTO> getCustomers() {
? ? ? ? return customerMapper.selectCustomer();
? ? }
}
```
在 Controller 層,你可以直接將查詢結(jié)果作為響應(yīng)返回給前端:
```java
@RestController
@RequestMapping("/customers")
public class CustomerController {
? ? @Autowired
? ? private CustomerService customerService;
? ? @GetMapping
? ? public List<CustomerDTO> getCustomers() {
? ? ? ? return customerService.getCustomers();
? ? }
}
```
通過這種方式,你可以將查詢結(jié)果封裝到自定義的 DTO 對象中,并將 DTO 對象作為響應(yīng)返回給前端。請確保 DTO 類中的屬性與查詢結(jié)果的字段名稱相匹配。