包命名规范说明(DO、DTO、VO、QueryParam) |
您所在的位置:网站首页 › 文件的命名规范怎么写好 › 包命名规范说明(DO、DTO、VO、QueryParam) |
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 |