首页 > 其他分享 >MybatisPlus通用枚举

MybatisPlus通用枚举

时间:2023-01-16 21:35:32浏览次数:39  
标签:通用 sexName private sex 枚举 user MybatisPlus SexEnum


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

添加字段

在数据库表添加字段​​sex​

alter table t_user modify sex int null comment '性别';

MybatisPlus通用枚举_User

创建通用枚举类型

package com.dawn.mybatisplus.pojo;

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;
}
}

@EnumValue 用来标记数据库存的值。

Mybatis 原生默认是以枚举的名称:Enum.name()作为默认值,即 User 类中定义的属性 private SexEnum sex; 默认向数据库存的时候会将 SexEnum.MALE.name() 的值存入数据库(String类型)。

使用 @EnumValue 注解标识 SexEnum 类中的 sex 属性后,保存数据库时就会取值 sex 保存进数据库。同样如果标识 sexName 保存时会取 sexName 的值(男/女)保存入库。

实体类修改

在 User 实体类中添加属性sex

@Data
@TableName("t_user")
public class User {
@TableId("uid")
private Long id;
@TableField("username")
private String name;
private Integer age;
private String email;

private SexEnum sex;

@TableLogic//逻辑删除
private int isDeleted;
}

配置扫描通用枚举

mybatis-plus:
configuration:
#配置日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
# 设置实体类所对应的表的统一前缀
table-prefix: t_
# 配置MyBatis-Plus的主键策略
id-type: auto
# 扫描通用枚举的包
type-enums-package: com.dawn.mybatisplus.enums

测试

@Test
public void testEnum(){
User user = new User();
user.setName("admin");
user.setAge(33);
user.setSex(SexEnum.MALE);
int result = userMapper.insert(user);
System.out.println("result:"+result);
}

控制台打印执行结果

MybatisPlus通用枚举_MybatisPlus_02


标签:通用,sexName,private,sex,枚举,user,MybatisPlus,SexEnum
From: https://blog.51cto.com/u_14342725/6010822

相关文章

  • MybatisPlus条件构造器
    Wrapper介绍​​Wrapper​​:条件构造抽象类,最顶端父类​​AbstractWrapper​​:用于查询条件封装,生成sql的where条件​​QueryWrapper​​:查询条件封装​​UpdateW......
  • MybatisPlus常用注解
    @TableName经过以上的测试,在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表,由此得出......
  • MybatisPlus基本查询
    通用MapperBaseMapper位于com.baomidou.mybatisplus.core.mapper包下,封装了MybatisPlus的通用的CRUD接口,为​​Mybatis-Plus​​​启动时自动解析实体表关系映射转......
  • MybatisPlus入门案例
    开发环境IDE:IDEA2021.1.3JDK:JDK8+构建工具:Maven3.6.3MySQL:MySQL8.0.24Navicat:NavicatPremium15SpringBoot:2.7.2MyBatis-Plus:3.5.1建库建表打开Navicat运行以下SQL脚本......
  • MybatisPlus简介
    介绍​​MyBatis-Plus​​​(简称MP)是一个​​MyBatis​​的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。我们的愿景是成为MyBatis最好的搭......
  • MyBatis-Plus通用枚举
    创建通用枚举类型packagecom.atguigu.mp.enums;importcom.baomidou.mybatisplus.annotation.EnumValue;importlombok.Getter;@GetterpublicenumSexEnum{......
  • 2月28日晚何增耀数据模型通用模式讲座(免费)
    何增耀--数据模型通用模式时间:北京时间2017年2月28日(周二)晚上19:30-21:00地点:Zoom视频会议室,支持视频,屏幕共享。会议室地址:https://zoom.us/j/7358411155或者在客户端输入会......
  • Mybatis|MybatisPlus批量插入
    创建一个SpringBoot工程<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XML......
  • 企业实训课程:一个通用后台管理项目
    empSystem企业实训:通用后台管理项目Github地址:https://github.com/Zpss2021/empSystem写在最前本项目限于原作者水平,上传时各个方面功能都不完善,只能作为一个小案例参......
  • 通用寄存器
     通用寄存器:这类寄存器在处理器中数量较多、使用频度较高,具有多种用途。例如它们可用来存放指令需要的操作数据,又可用来存放地址以便在主存或I/O接口中指定操作数据的位......