数据库表中加一个字段sex(为int类型)
新加一个枚举的包,然后创建类的时候选择枚举类
@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("123456@qq.com"); user.setSex(SexEnum.MALE); int result = userMapper.insert(user); System.out.println("result"+result); } }