当前位置: 首页 > news >正文

MybatisPlus枚举类的应用与转换

一、枚举类的应用

现在有个类User,User中有属性Status,那么我们可以设置一个枚举类UserStatusEnum来设定这个status。

在status中我们会设置一个值val(整形)用于标识当前枚举的实际状态,一个introduction(String类型,用于描述枚举的信息)

此时,如果我们要将user的某个实例存入数据库中,就会出现问题。

一般而言我们会去定义status为整形静态常量,这样可以很方便将user进行存入。

现在修改status为单独的enum类,现在存入遇到问题,可以使用MP进行解决。

首先需要在配置文件中写入

mybatis-plus:  configuration:default-enum-type-handler:            com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler

来开启枚举注解

然后在对应的enum类中,对枚举类的值进行标记(标记值用于数据库的读取):

@Getter
public enum UserStateEnum {NORMAL(1,"正常状态"),FREEZE(2,"冻结状态"),;@EnumValueprivate final int val;@JsonValueprivate final String description;UserStateEnum(int val, String description) {this.val = val;this.description = description;}
}

总结:

要引入enum类,MP需要:

1.先引入配置文件

2.标记enum类中对应的值,用于数据库的存取

二、Jason字符串与类的转换

User类中有个info 属性,用于描述用户的年龄、基本介绍以及性别,现在这个属性需要以jason格式来进行存储,显然我们自行定义jason格式就会很麻烦。

所以引入MP的类型转换功能:

1.将原本的String info 转换为UserInfo info。也就是自行定义一个类,类中属性包含年龄、基本介绍以及性别。

2.使用MP的注解来使其能够正确转换:@TableFiled(typeHandler = JacksonTypeHandler.class)

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName(value = "user",autoResultMap = true)
public class User {@TableId(type = ASSIGN_ID)Long id;String username;String password;String phone;@TableField(typeHandler = JacksonTypeHandler.class)UserInfo info;UserStateEnum status;Double balance;LocalDateTime createTime;LocalDateTime updateTime;
}

相关文章:

  • 六、接口关联
  • 【Kubernetes】Ingress-nginx快速入门
  • “概率鹦鹉”难解语义等价验证的NPC难题: 从技术本质看LLM在SQL优化任务中的致命缺陷
  • 【Java多线程从青铜到王者】单例设计模式(八)
  • TMC2226超静音步进电机驱动控制模块
  • ConcurrentModificationException 并发修改异常详解
  • 深度学习-1.神经网络理解
  • 博图 SCL 编程技巧:灵活实现上升沿与下降沿检测案例分享(下)
  • LangChain4j(18)——通过Xinference调用Rerank模型
  • 【前端实战】如何让用户回到上次阅读的位置?
  • 【C++】IO库 IO流
  • 禁用思科锐捷设备分页功能
  • redis--黑马点评--Redisson快速入门
  • pytorch卷积层权重之 二维互相关运算(corr2d) (亲测,已解决)
  • 神经网络学习-神经网络简介【Transformer、pytorch、Attention介绍与区别】
  • pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
  • 网页后端开发(基础1--maven)
  • 初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)
  • 如何在 PyTorch 中自定义卷积核参数(亲测,已解决)
  • [免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
  • 国外房产中介网站/站长工具精华
  • 商城网页设计html和css代码/windows优化大师怎么彻底删除
  • 网页制作与网站建设06627/网络违法犯罪举报网站
  • 个人网站用备案吗/十大seo免费软件
  • 寿光做网站m0536/河北网络科技有限公司
  • 合肥网站建设合肥网站制作/环球网最新消息