MyBatisPlus通用枚举

数据库表中加一个字段sex(为int类型)

新加一个枚举的包,然后创建类的时候选择枚举类

MyBatisPlus通用枚举_第1张图片

@Getter
public enum SexEnum {
    MALE(1, "男"),
    FEMALE(2, "女");
    @EnumValue//将注解标识的属性的值存储到数据库中
    private Integer sex;
    private String sexName;
    SexEnum(Integer sex, String sexName) {
        this.sex = sex;
        this.sexName = sexName;
    }
}

然后再实体类中添加性别字段,通过枚举的方式

@Data
@AllArgsConstructor
@NoArgsConstructor
//@TableName("t_user")
public class User {
    //@TableId//id和id的名字不一样的时候,实体类和数据表中都使用uid的时候

    /*实体类中是id,数据表中是uid的时候,使用value指定唯一的键
    * type = IdType.AUTO,表示自增的主键,不使用这个新增后自增使用的是雪花算法
    * */
    @TableId(value = "uid",type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;
    private SexEnum sex;//设置成枚举类型
}

在application.yml中设置扫描枚举的包

spring:
  # 配置数据源信息
  datasource:
    # 配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
    # 配置连接数据库信息
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
    username: root
    password: 123456
    # 加入日志功能
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 配置类型别名所对应的包
  type-aliases-package: com.example.demos.entity
  #设置Mybatis-Plus的全局配置,假如所有的表都有t_,实体类不用加注解@TableName("t_user")
  global-config:
    db-config:
      table-prefix: t_
      # 设置统一的主键生成策略
      id-type: auto
  #配置扫描通用枚举//和   global-config:对齐
  type-enums-package: com.example.demos.enums

测试类测试

@SpringBootTest
public class MybatisPlusEnum {
    @Autowired
    private UserMapper userMapper;
    @Test
    public void testEnumSex(){
        User user = new User();
        user.setName("hhh");
        user.setAge(25);
        user.setEmail("[email protected]");
        user.setSex(SexEnum.MALE);
        int result = userMapper.insert(user);
        System.out.println("result"+result);
    }
}

你可能感兴趣的:(MybatisPlus,java,MybatisPlus)