enum枚举处理实体类字段

#springboot学习记录



前言

枚举常用在实体类字段的处理上。如:员工的状态,正常或禁用;用户的性别,男,女。这些基本都要用到枚举。通常这些字段在数据库的类型为int,文章的着重点就在于如何在枚举与原本的数据类型的转换。MybatisPlus提供了一个处理枚举的类型转换器。


一、使用步骤

1.创建enum表

@EnumValue 是MybatisPlus提供的起标记作用的注解。@JsonValue是在json格式上显示该字段内容。

@Getter
public enum UserStatus {
    NORMAL(0, "禁用"),
    DISABLE(1, "正常");

    @EnumValue
    private Integer code;
    @JsonValue
    private String desc;

    UserStatus(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }
}

2.修改application配置文件

mybatis-plus:
  configuration:
    default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler

3.将枚举类与要处理的字段结合

	@ApiModelProperty("状态")
    private UserStatus status;

下面展示效果:
json格式内容就显示我们想要的效果了

搞定!


### 回答1: 在实体类中使用枚举类作为字段类型可以提高代码的可读性和可维护性。枚举类是一种特殊的数据类型,它可以将常量值组合在一起,类似于常量池。 假设我们有一个实体类`User`,其中有一个字段`gender`表示用户的性别,我们可以使用枚举类作为该字段的类型。例如: ``` public class User { private String name; private Gender gender; // ... } public enum Gender { MALE, FEMALE, UNKNOWN } ``` 这样,在使用`User`实体类时,我们可以直接访问`Gender`枚举类中定义的常量,如`Gender.MALE`、`Gender.FEMALE`等。这样可以保证代码的可读性,同时也可以减少代码中重复的字符串。 使用枚举类还可以提高代码的可维护性。当我们需要修改某个常量的值时,只需要修改枚举类中的定义,而不用在代码中搜索所有出现该常量的地方进行修改。 总之,在实体类中使用枚举类作为字段类型可以提高代码的可读性和可维护性,推荐使用。 ### 回答2: 在实体类中使用枚举类作为字段类型有以下几个优点: 1. 约束取值范围:枚举类可以定义一组固定的取值,限定了字段的可能取值范围,增加了代码的可读性和可维护性。例如,在表示性别的字段中,可以使用枚举类定义为`Gender`,其中包括`MALE`和`FEMALE`两种取值,避免使用数字或字符串表示,从而避免了潜在的数据错误。 2. 类型安全性:使用枚举类作为字段类型可以提高类型的安全性。编译器可以检查字段的取值是否合法,避免了在运行时由于传入非法的取值而导致的错误。例如,在表示星期的字段中,使用枚举类`Weekday`定义了`MONDAY`、`TUESDAY`等七个取值,编译器可以在编码阶段检查到传入了非法的取值。 3. 可读性和维护性:在代码编写和阅读过程中,使用枚举类可以增强代码的可读性和可维护性。通过定义枚举类,可以直观地了解字段的可能取值,更好地理解代码的含义。此外,如果需要修改字段的取值或者添加新的取值,在枚举类中进行修改和扩展就可以一次性地修改整个系统中相关的代码。 4. 数据一致性:使用枚举类作为字段类型可以确保数据的一致性。当系统中多个地方使用同一个字段时,如果使用枚举类,可以保证所有地方使用的是相同的取值,避免了因为使用了不同的字符串或者数字表示同一个含义导致的数据不一致。 需要注意的是,在使用枚举类作为字段类型时,应该根据实际需求来定义合适的枚举值,并注意枚举取值的顺序和命名的规范性,以提高代码的可读性和可维护性。另外,如果字段的取值较多或者需要频繁修改,可能考虑使用数据库表来存储取值,并在实体类中使用外键和关联表。 ### 回答3: 在实体类中使用枚举类作为字段类型可以提高代码的可读性和可维护性。 首先,使用枚举类可以明确字段的取值范围,限制了字段的取值只能在预定义的枚举值中选择,避免了错误的赋值。这样一来,在编写代码时就能够避免一些由于取值范围错误导致的bug,提高了代码的健壮性。 其次,枚举类可以为字段提供更加语义化的取值。通过给字段赋予预定义的枚举值,可以让代码的含义更加清晰明了。例如,对于一个状态字段,可以定义枚举值为"启用"和"禁用",这样就能直观地表示该字段的含义,提高了代码的可读性。 另外,使用枚举类还能避免使用魔法数字或者字符串的情况。在代码中直接使用数字或字符串来表示字段的取值,会增加代码的复杂性和维护难度。而使用枚举类,可以将这些取值定义在一个统一的位置,方便管理和修改。 总的来说,将枚举类作为实体类字段类型能够提高代码的可读性、可维护性和健壮性。这种方式能够明确字段的取值范围,提供更加清晰的代码含义,并且避免使用魔法数字或字符串,从而提高代码的可靠性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值