包命名规范说明(DO、DTO、VO、QueryParam)

您所在的位置:网站首页 文件的命名规范怎么写好 包命名规范说明(DO、DTO、VO、QueryParam)

包命名规范说明(DO、DTO、VO、QueryParam)

2024-07-16 07:47| 来源: 网络整理| 查看: 265

DO(Data Object): —包命名为do

简单一点理解就是里面的字段一一与数据库表字段对应,需与数据库打交道的就使用DO对象

栗子:

需要进行商品的更新操作,这里可以看到对数据库进行打交道的时候,是将传递过来的DTO对象转化为了DO对象,然后才进行更新操作的

public Integer updateProduct(ProductDTO productDTO) { ProductDO productDO = new ProductDO(); BeanUtils.copyProperties(productDTO, productDO); return productMapper.updateById(productDO); } DTO(Data Transfer Object): —包命名为dto

简单一点理解就是在数据传输的时候用到的

栗子:

更id对商品进行查询,这里可以看到数据库中查询出来返回的结果是DO对象,要将数据进行传递就转化为DTO对象

public ProductDTO selectById(Long id) { ProductDO productDO = productMapper.selectProductById(id); if (ObjectUtils.isEmpty(productDO)) { return null; } ProductDTO productDTO = new ProductDTO(); BeanUtils.copyProperties(productDO, productDTO); return productDTO; } VO(View Object) —包命名为vo

简单一点理解就是用于给页面显示使用的

栗子:

根据id进行商品查询,这里可以看到通过将DTO对象转化为VO对象,返给前端的是VO对象

@GetMapping("/pid/{pid}") @ApiOperation("根据商品id查询商品") @Log("查询商品") ApiResult selectById(@PathVariable("pid") Long pid) { ProductDTO productDTO = productService.selectById(pid); ProductVO productVO=new ProductVO() BeanUtils.copyProperties(productDTO, productVO); return ApiResult.ok(productVO); } QueryParam —包命名为param

简单一点理解就是对请求参数使用的,时候也可以使用DTO作为请求参数(可能每个公司要求的不一样)

栗子:

根据商品一些不同的属性进行分页展示,这里可以看到接收请求的参数使用的是QueryParam作为请求参数(可以看到这里网前端反的对象是有问题的,应该反会的是VO对象,这里我就不行调整了,要注意深拷贝浅拷贝问题,可能有些公司不是那么规范,甚至不使用VO,直接给前端反DTO)

@PostMapping("/products") @ApiOperation("商品分页列表") ApiResult pageData(@Valid @RequestBody ProductQueryParam query) { Paging productPageInfo = productService.selectPage(query); return ApiResult.ok(productPageInfo); } 提升

这里只是简单介绍了怎么用,至于为什么这么命名

可以参考一下这篇blog:https://www.cnblogs.com/suizhikuo/p/8409153.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3