MyBatis-Plus 通用枚举

2022-12-25 14:44:00 浏览数 (1)

# MyBatis-Plus 通用枚举

  • 数据库添加字段sex
  • 创建通用枚举类型
  • 配置扫描通用枚举
  • 测试
    • 结果

表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现

# 数据库添加字段sex

代码语言:javascript复制
ALTER TABLE t_user ADD sex INT(11) 

# 创建通用枚举类型

代码语言:javascript复制
/**
 * @author frx
 * @version 1.0
 * @date 2022/4/20  14:08
 */
@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;
    }
}

# 配置扫描通用枚举

代码语言:javascript复制
#配置mybatis日志
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  #设置mybatis-plus的全局配置
  global-config:
    db-config:
      # 配置MyBatis-Plus操作表的默认前缀
      table-prefix: t_
      # 配置MyBatis-Plus的主键策略
      id-type: auto
  # 配置类型别名所对应的包
  type-aliases-package: com.frx01.mybatisplus.pojo
  # 扫描通用枚举的包
  type-enums-package: com.frx01.mybatisplus.enums

# 测试

代码语言:javascript复制
    @Test
    public void test(){
        User user = new User();
        user.setName("admin");
        user.setAge(33);
        user.setSex(SexEnum.MALE);
        int result = userMapper.insert(user);
        System.out.println("result:" result);
    }

# 结果

代码语言:javascript复制
...
==>  Preparing: INSERT INTO t_user ( user_name, age, sex ) VALUES ( ?, ?, ? )
==> Parameters: admin(String), 33(Integer), 1(Integer)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@383864d5]
result:1
2022-04-20 19:04:27.395  INFO 4384 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2022-04-20 19:04:27.416  INFO 4384 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

Process finished with exit code 0

0 人点赞