站长素材音效网,郴州网站建设网络推广渠道,沈阳亚洲城属于哪个社区,网站整体结构一、定义对象规范
entity : 是与数据库一一对应的字段 vo : 返回给前端的视图对象 dto : 前端传过来的参数封装成dto,用于返回给前端的对象#xff0c;一般用于查询操作。 POJO是DO/DTO/BO/VO的统称#xff0c;禁止命名成xxxPOJO。
1、entity实体类与数据库中的字段一一对应…一、定义对象规范
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 注解的参数不能为 Null
且 trim() 之后 size 0必须有实际字符
3、NotEmpty
适用于 String、Collection集合、Map、数组等等
加了NotEmpty 注解的参数不能为 Null 或者 长度为 0ValidationUtils.validateEntity(channelProductRouteDTO);