开发规范及常用工具

一、定义对象规范

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() )

二、类上到特殊注解

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

三、参数校验

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

ValidationUtils.validateEntity(channelProductRouteDTO);

你可能感兴趣的:(开发规范)