开发规范及常用工具

一、定义对象规范

entity : 是与数据库一一对应的字段

vo : 返回给前端的视图对象

dto : 前端传过来的参数封装成dto,用于返回给前端的对象,一般用于查询操作。

POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

1、entity实体类与数据库中的字段一一对应

注意:数据库中拼接字段中间使用下划线(_)进行分割,而实体类中拼接字段采用的是驼峰映射

2、vo : 用于返回给前端的对象,一般用于查询操作。

2.1 为什么不直接将实体类返回?

因为他可能会返回一些该表结构没有的字段(例如:后端根据登录用户判断是否是超级管理员,返回给前端一个字段:1超管 2.普通用户),或者是表结构中的某些字段不需要返回给前端(例如:查询用户时,不需要返回用户的密码)。

2.2. 关于vo对象的赋值,

之前我的操作都是,从数据库查出实体类对象,有时候查询操作查出来的结果集是一个list集合,还需要遍历集合,然后通过BeanUtils(source,target)进行赋值。现在又发现一个简便操作,直接从数据库查出来的对象就是vo对象,就不需要遍历集合。

3、dto :前端向后端传递的对象(需要那些字段就传哪些字段),一般用于新增,修改操作

3.1 关于dto,做新增操作时

可以定义一个实体类对象,使用BeanUtils(source,target),将实体类入库

3.2 关于dto,做修改操作时

首先我们需要根据dto对象查找到数据库对应的实体类,然后对实体类对象进行修改操作( service.lambdaUpdate().eq(实体类:属性,dto属性).set(实体类:属性,dto中对应属性).update() )

二、类上到特殊注解

java 复制代码
@NoArgsConstructor : 生成一个无参数的构造方法
@AllArgsContructor: 生成一个包含所有参数的构造方法

三、参数校验

java 复制代码
处理参数校验
1、@NotNull
适用于基本数据类型(Integer,Long,Double等等),如果是String无法处理Empty的问题。
2、@NotBlank
适用于 String 类型的数据上,加了@NotBlank 注解的参数不能为 Null 
且 trim() 之后 size > 0,必须有实际字符
3、@NotEmpty
适用于 String、Collection集合、Map、数组等等,
加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0

ValidationUtils.validateEntity(channelProductRouteDTO);
相关推荐
eaglewgs17 天前
“单元测试”应该怎么写比较好
测试开发·单元测试·开发规范·质量保障
暂时先用这个名字1 个月前
vue开发的时候,目录名、文件名、函数名、变量名、数据库字段等命名规范
前端·数据库·vue.js·vue·开发·开发规范·命名规范
CodeBlogMan3 个月前
【团队建设】如何做好团队开发中的 CodeReview(代码评审)?
开发规范·团队建设·代码评审
qq_289093874 个月前
CleanCode、安全编码规范
android·开发规范
NPE~10 个月前
golang 引入swagger(iris、gin)
开发语言·golang·接口·gin·swagger·开发规范·接口定义
11级风10 个月前
Git项目分支管理规范
git·分支管理·开发规范
龙猫蓝图10 个月前
02.阿里Java开发手册——日期时间
java·开发规范
小懒编程日记1 年前
Java开发规范记录
java·mysql·开发规范
程序员 jet_qi1 年前
研发规范第十三讲:阿里 - 如何进行项目稳定性建设
数据库·稳定性建设·开发规范·开发流程·技术建设·teamleader