当前位置: 首页 > news >正文

万州那家做网站常德经开区网站官网

万州那家做网站,常德经开区网站官网,5个不好的网站,你做的网站可视区域多少目录 1、讲讲好处 2、例子 (1)枚举类: (2)DTO类: 3、根据上面例子进行具体讲解 1、讲讲好处 在使用这种标准枚举模式编写业务逻辑时,可以直接通过枚举成员来表示状态,不需要担心底层的 value 或描述信…

目录

1、讲讲好处

 2、例子

(1)枚举类:

(2)DTO类:

3、根据上面例子进行具体讲解


1、讲讲好处

在使用这种标准枚举模式编写业务逻辑时,可以直接通过枚举成员来表示状态,不需要担心底层的 value 或描述信息,使代码更简洁。

枚举类会 handles 序列化和反序列化的过程,确保:

1. 在返回JSON时,自动序列化为 value 或描述信息

2. 在接收前端数据时,自动根据 value 反序列化为枚举成员

3. 在保存到数据库时,自动转换为对应的 value 值

4. 在读取数据库数据时,自动根据 value 转换为枚举成员

所以我们只需要在业务代码中直接使用枚举成员,不需要做任何额外的处理,枚举类会负责与底层值的转换,使业务代码精简和高效。 


 2、例子

(1)枚举类:

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.tianji.common.enums.BaseEnum;
import lombok.Getter;@Getter //使用@Getter注解自动生成getter方法
public enum SectionType implements BaseEnum { //实现BaseEnum接口,标识这是一个枚举类VIDEO(1, "视频"),EXAM(2, "考试"),;@JsonValue //把value值返回给前端(在JSON序列化时返回value的值)@EnumValue //把枚举的value转成数据库需要的int value;String desc;SectionType(int value, String desc) {this.value = value;this.desc = desc;}@JsonCreator(mode = JsonCreator.Mode.DELEGATING) //前端提交form表单,of方法:将value转变成对应的枚举public static SectionType of(Integer value){if (value == null) {return null;}for (SectionType status : values()) {if (status.equalsValue(value)) {return status;}}return null;}
}

(2)DTO类:

当前端form表单提交数据给后端时,其中一个参数是这个枚举类中的枚举值。

此时后端通过DTO类来接收数据,其中定义一个成员属性,举个例子:

@EnumValid 注解来验证枚举值的合法性

@EnumValid 注解的主要参数:

        - enumeration:指定一个合法的枚举值数组,这里是{1, 2},枚举的 value 值
        - message:验证不通过时的错误提示信息

@Data
@ApiModel(description = "学习记录")
public class LearningRecordFormDTO {@ApiModelProperty("小节类型:1-视频,2-考试")@NotNull(message = "小节类型不能为空")@EnumValid(enumeration = {1, 2}, message = "小节类型错误,只能是:1-视频,2-考试")private SectionType sectionType;}

3、根据上面例子进行具体讲解

这是一种典型的枚举类写法,具有以下几个特点:

1. 使用@Getter注解自动生成getter方法

2. 实现BaseEnum接口,标识这是一个枚举类

3. 每个枚举成员都有一个int类型的value字段,表示数据库存储的值

4. 使用@JsonValue注解,在JSON序列化时返回value的值

5. 使用@EnumValue注解,将value值转成数据库字段

6. 提供一个of方法,可以通过value值获取对应的枚举实例

7. of方法使用@JsonCreator注解,允许通过JSON反序列化获取枚举

8. of方法实现通过value值查找枚举实例的逻辑

9. 加入对null值的处理,保证健壮性总体来说,这种枚举类实现了将枚举值与数据库值映射的功能,同时可以方便的进行JSON序列化和反序列化。

10.配合标准枚举类写法,通过 @EnumValid 注解可以非常方便地实现自定义的枚举值验证,提高代码的健壮性。

http://www.yayakq.cn/news/526840/

相关文章:

  • 横沥镇网站建设网络销售是什么
  • 天津网站建设好公司网站全能空间
  • 做地方网站在哪个网站可以做图文合并
  • 网站开发地址湖北政务服务网
  • 购物网站开发内容网站域名价值查询工具
  • 深圳龙岗企业网站建设手机h5网站
  • 动态购物网站外贸英文网站
  • 机关事业单位网站建设专业做邯郸网站优化
  • 撰写网站建设技术解决方案中国建筑平台网
  • 网站中转页怎么做铜仁网站建设
  • 律师网站设计sem和seo是什么
  • 衡水网站建费用公司企业邮箱是什么
  • 网站设计网站设计公司价格网站跳出率怎么算
  • 网站建设齐齐哈尔网站更换程序
  • 蛋糕网站建设方案群艺馆网站建设方案
  • 七台河建设网站莱州网页设计
  • 百度推广 网站要备案吗办公室装修设计简约
  • 做音乐网站代码Wordpress搜索验证登录
  • 微网站在哪建电商平台的运营模式
  • 对网站的界面设计分析百度竞价排名价格查询
  • 建网站怎样才能通过备案口碑好的做网站公司哪家好
  • 京东网站项目建设规划书村官 举措 村级网站建设
  • 视频搜索引擎网站开发方法洛阳响应式建站
  • 南京响应式网站制作设计制作小车教学反思
  • 网站模板怎么做的如何自学网站建设
  • 网站怎样才有流量湘潭网站建设口碑好磐石网络
  • 网站建设站点无法发布网站建设期末总结
  • win 2012 iis 默认网站google chrome官网
  • 如何将自己做的网站挂到服务器上域名怎么做网站
  • 国内外ai设计素材网站大河网