欢迎光临散文网 会员登陆 & 注册

封装查询结果的属性

2023-06-29 10:41 作者:shangxan  | 我要投稿

返回一部分属性


如果你想将查询结果返回给前端,你可以使用自定义的 DTO(数据传输对象)来封装查询结果,并将 DTO 对象作为响应返回给前端。


以下是一个示例代码,展示了如何使用自定义的 DTO 封装查询结果,并将 DTO 对象作为响应返回给前端:


首先,你需要创建一个 DTO 类,用于封装查询结果的属性:

```java

public class CustomerDTO {

    private Long id;

    private String customerName;

    private Date nextTime;

    private Date updateTime;

    private Date createTime;


    // 省略构造函数和 getter/setter 方法

}

```


然后,你可以在 Mapper XML 文件中使用 `@Results` 注解将查询结果映射到 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();

```


在这个示例中,我们将查询结果映射到了 `CustomerDTO` 类中的属性。


接下来,你可以在 Service 层调用这个查询方法,并将结果返回给 Controller 层:

```java

@Service

public class CustomerServiceImpl implements CustomerService {

    @Autowired

    private CustomerMapper customerMapper;


    @Override

    public List<CustomerDTO> getCustomers() {

        return customerMapper.selectCustomer();

    }

}

```


在 Controller 层,你可以直接将查询结果作为响应返回给前端:

```java

@RestController

@RequestMapping("/customers")

public class CustomerController {

    @Autowired

    private CustomerService customerService;


    @GetMapping

    public List<CustomerDTO> getCustomers() {

        return customerService.getCustomers();

    }

}

```


通过这种方式,你可以将查询结果封装到自定义的 DTO 对象中,并将 DTO 对象作为响应返回给前端。请确保 DTO 类中的属性与查询结果的字段名称相匹配。


封装查询结果的属性的评论 (共 条)

分享到微博请遵守国家法律