MyBatis-Plus之枚举

简介: MyBatis-Plus之枚举

1.0 MyBatis-Plus之枚举

CREATE TABLE `t_user`  (
  `uid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `user_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(11) NULL DEFAULT NULL COMMENT '年龄',
  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `is_delect` int(255) NULL DEFAULT 0 COMMENT '是否删除',
  `sex` int(255) NULL DEFAULT NULL COMMENT '性别',
  PRIMARY KEY (`uid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

添加性别

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

创建枚举 类

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

package com.example.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.example.enums.SexEnum;
import lombok.*;
/**
 *
 */
//get/set 有参无参 @Data=get+set@| Setter+@Getter
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
     //我们使用的是数据库自增
     @TableId(value="uid",type= IdType.AUTO)
     private Long id;
     @TableField("user_name")
     private String name;
     private Integer age;
     private String email;
     @TableLogic
     private int isDelect;
     private SexEnum sexEnum;
}

配置扫描通用枚举

spring:
  # 配置数据源信息
  datasource:
    #配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
    #配置连接数据的信息
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&userSSL=false
    username: root
    password: root
mybatis-plus:
  configuration:
    #加入mybatis 日志查看执行语句sql语句
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      table-prefix: t_
      #设置统一的主键生成策略
      id-type: auto
     #配置实体类类型别名对应的包(也就是实体类和mapper.xml的返回的对象对应)
  type-aliases-package: com.example.pojo
  # 扫描通用枚举的包
  type-enums-package: com.example.enums

创建测试类:

package com.example;
import com.example.enums.SexEnum;
import com.example.mapper.UserMapper;
import com.example.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class MyBatisPlusEnumTest {
    @Autowired
    private UserMapper userMapper;
    @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);
    }
}

==>  Preparing: INSERT INTO t_user ( user_name, age, is_delect, sex ) VALUES ( ?, ?, ?, ? )
==> Parameters: admin(String), 33(Integer), 0(Integer), 1(Integer)
<==    Updates: 1

枚举的学习就到这里结束;大家也会说上班可能用不到;

但是正常规范的代码,例如状态码,数据字典等相关都需要类似接口来实现得到;

补充下:有人提问我这边回复下内容

下面的2个方法即可获取;

@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);
        System.out.println("user的值==》"+user);
        System.out.println("user中性别的值==》"+user.getSex().getSexName());
    }


相关文章
|
6月前
|
前端开发 Java 数据库连接
MyBatis查询优化:枚举在条件构建中的妙用
MyBatis查询优化:枚举在条件构建中的妙用
|
数据库连接 测试技术 数据库
MybatisPlus之通用枚举&代码生成器&多数据源
今天我们来了解MyBatisplus 的通用枚举和代码生成器和多数据源。
|
6月前
|
SQL 存储 测试技术
深入了解MyBatis-Plus中的枚举处理器及实例演示
深入了解MyBatis-Plus中的枚举处理器及实例演示
335 0
|
12月前
|
存储 数据库
MybatisPlus通用枚举
MybatisPlus通用枚举
107 0
|
存储 JSON Java
mybatisPlus之通用枚举及字段类型处理器
mybatisPlus之通用枚举及字段类型处理器
|
Java 数据库连接 数据库
解析Java中的MyBatis Plus注解 @EnumValue:优雅处理枚举值映射
在数据库操作中,枚举类型的值往往需要与数据库表中的某个字段进行映射,以便在操作中能够进行相应的转换。MyBatis Plus作为一款强大的ORM框架,提供了注解 `@EnumValue`,使开发者能够更加灵活地处理枚举值与数据库字段的映射关系,从而减少了繁琐的转换逻辑。本文将详细介绍 `@EnumValue` 注解的用法及其在持久层开发中的应用。
3542 0
|
Java 数据库连接 数据库
深入了解Java中的MyBatis Plus注解 @IEnum:优雅处理枚举映射
在数据库操作中,经常需要将Java中的枚举类型映射到数据库表中的某个字段。MyBatis Plus作为一款强大的ORM框架,提供了注解 `@IEnum`,使得开发者能够更加优雅地处理枚举与数据库字段之间的映射关系。本文将详细介绍 `@IEnum` 注解的用法及其在持久层开发中的应用。
686 0
|
存储 前端开发 Java
使用mybatisplus的通用枚举实现存储显示相分离
使用mybatisplus的通用枚举实现存储显示相分离
244 0
使用mybatisplus的通用枚举实现存储显示相分离
|
存储 测试技术 数据库
Mybatis-Plus的分页 乐观锁插件 通用枚举 多数据源(二)
Mybatis-Plus的分页 乐观锁插件 通用枚举 多数据源(二)
208 0
Mybatis-Plus的分页 乐观锁插件 通用枚举 多数据源(二)