新闻详情

新闻详情

首页 / 资讯中心 / 详情

【10】SpringBoot4 MyBatisPlus 枚举类型(enum)

发布时间:2026/9/28 20:47:16来源:尧图网络
【10】SpringBoot4 MyBatisPlus 枚举类型(enum)
SpringBoot4 MyBatisPlus 枚举类型enum前言创建工程pom.xmlapplication.yml创建枚举类UserStatusEnum调整实体类TbClient创建测试类EnumTest前言SpringBoot 版本4.0.8JDK 版本21.0.11IDEA 开发工具版本2026.2MySQL 数据库版本8.4.11.LTS关于项目MybatisPlus 更多使用可参考官网https://baomidou.com/相关依赖包坐标可参考官网https://mvnrepository.com/artifact/com.mysql/mysql-connector-j建表 SQLCREATETABLEtb_client(idBIGINTNOTNULLPRIMARYKEYAUTO_INCREMENTCOMMENT自增ID,client_idBIGINTNOTNULLCOMMENTID编号,user_noVARCHAR(30)COMMENT账号,user_passwordVARCHAR(60)COMMENT密码,nick_nameVARCHAR(30)COMMENT昵称,real_nameVARCHAR(30)COMMENT真实姓名,statusTINYINTNOTNULLDEFAULT0COMMENT状态0可用1禁用,info JSONCOMMENT扩展信息,created_timeDATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,upated_timeDATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT更新时间)COMMENT客户端信息表;INSERTINTOtb_client(client_id,user_no,user_password,nick_name,real_name,info)VALUES(100001,zhangsan,123456,张三,张三,{age: 25, gender: male, city: 上海}),(100002,lisi,123456,李四,李四,{age: 28, gender: male, city: 北京}),(100003,wangwu,123456,王五,王五,{age: 30, gender: male, city: 深圳});创建工程参考《SpringBoot4 MyBatisPlus 代码自动生成》使用代码自动生成如下用户状态status是Integer类型建议修改为枚举类型.pom.xmlprojectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion4.0.8/versionrelativePath//parentmodelVersion4.0.0/modelVersiongroupIdcom.junjiu.mybatisplus/groupIdartifactIdspringboot4-mybatisplus/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packagingnamespringboot4-mybatisplus/nameurlhttp://maven.apache.org/urlpropertiesmaven.compiler.source21/maven.compiler.sourcemaven.compiler.target21/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmybatis-plus.version3.5.17/mybatis-plus.versionfastjson2.version2.0.65/fastjson2.versiondruid.version1.2.28/druid.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-webmvc/artifactId/dependency!-- --!-- MyBatis Plus --!-- --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot4-starter/artifactIdversion${mybatis-plus.version}/version/dependency!-- --!-- MySQL --!-- Spring Boot 4.0.8 BOM 管理版本9.7.0 --!-- --dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency!-- --!-- Druid --!-- --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-4-starter/artifactIdversion1.2.28/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeannotationProcessor/scope/dependencydependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion${fastjson2.version}/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency/dependencies/projectapplication.ymlspring:application:name:springboot3-mybatisplus-prodatasource:type:com.alibaba.druid.pool.DruidDataSourcedriver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://192.168.88.101:3305/testdb?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/ShanghaiuseSSLfalseallowPublicKeyRetrievaltrueusername:adminpassword:Qwer1314druid:# 初始化连接数initial-size:5# 最小空闲连接数min-idle:5# 最大连接数max-active:20# 获取连接最大等待时间max-wait:60000# 定期检测空闲连接time-between-eviction-runs-millis:60000# 最小空闲时间min-evictable-idle-time-millis:300000# 连接有效性检测validation-query:SELECT 1test-while-idle:truetest-on-borrow:falsetest-on-return:false# SQL 统计filter:stat:enabled:truelog-slow-sql:trueslow-sql-millis:2000wall:enabled:truemybatis-plus:mapper-locations:classpath*:/mapper/**/*.xmltype-aliases-package:com.junjiu.**.entityconfiguration:map-underscore-to-camel-case:truecache-enabled:falseglobal-config:banner:falsedb-config:id-type:assign_idlogic-delete-field:deletedlogic-delete-value:1logic-not-delete-value:0创建枚举类UserStatusEnumpackagecom.junjiu.mybatisplus.entity;importcom.baomidou.mybatisplus.annotation.EnumValue;importlombok.Getter;/** * 用户状态枚举 * */GetterpublicenumUserStatusEnum{NORMAL(0,正常),FREEZE(1,冻结);EnumValueprivateIntegercode;privateStringmessage;UserStatusEnum(Integercode,Stringmessage){this.codecode;this.messagemessage;}}调整实体类TbClient将用户状态status的类型由Integer修改为枚举类型UserStatusEnum创建测试类EnumTestpackagecom.junjiu.mybatisplus;importcom.alibaba.fastjson2.JSON;importcom.alibaba.fastjson2.JSONWriter;importcom.junjiu.mybatisplus.entity.TbClient;importcom.junjiu.mybatisplus.service.ITbClientService;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;SpringBootTestpublicclassEnumTest{AutowiredITbClientServiceclientService;TestpublicvoidtestSelect(){TbClientclientclientService.getById(1);System.out.println(JSON.toJSONString(client,JSONWriter.Feature.PrettyFormat));}}运行结果如下若想让结果显示为code或者message则需要在 enum 上面添加JSONField注解。例如JSONFieldprivateStringmessage;再次运行测试结果如下
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

RK3568 上 OpenBMC 性能优化实战:从 CPU 调度到 DBus 通信的全面调优 2026/9/28 21:28:51

RK3568 上 OpenBMC 性能优化实战:从 CPU 调度到 DBus 通信的全面调优

1. 从"能跑"到"跑得稳":RK3568 上 OpenBMC 的性能瓶颈到底出在哪把 OpenBMC 在 RK3568 上点亮,只是万里长征第一步。真正让人头疼的,是系统起来之后那一连串"能用但不好用"的问题:Web 界面点一下卡…

阅读更多 →
分位数回归全链路实战:从Granger因果检验到QVAR脉冲响应 2026/9/28 21:28:50

分位数回归全链路实战:从Granger因果检验到QVAR脉冲响应

简介:本资源是一套基于Python与PyQt5开发的分位数回归分析完整项目,面向统计建模初学者、计量经济学课程设计者及毕业设计学生,解决传统均值回归无法刻画条件分布异质性的问题,覆盖分位数Granger因果检验、分位数向量自回归&#…

阅读更多 →
AI视觉项目初始化:Windows目录结构与工具链实战指南 2026/9/28 21:28:42

AI视觉项目初始化:Windows目录结构与工具链实战指南

1. 这不是一条命令,而是一份AI视觉项目启动的“现场手记”你看到的这行mkdir D:\模块Bcd /d D:\模块Bmkdir 任务一成果 任务二成果 任务三成果 任务四成果,表面看是Windows命令行里一串混乱的mkdir指令,甚至带点语法错误——它根本跑不通。但…

阅读更多 →
S7协议通信实战:从握手到数据读写的深度解析 2026/9/28 21:28:42

S7协议通信实战:从握手到数据读写的深度解析

1. 工控现场为什么要死磕S7协议搞工控的兄弟大多有过这种经历:产线上位机要采一批西门子PLC的数据,拿了个现成的库,连上能读,但偶尔断、偶尔慢、偶尔读回来的浮点数明显不对。翻日志只看到一句“连接超时”,剩下的全靠…

阅读更多 →
手写数字识别系统Python课设:CNN模型训练与部署指南 2026/9/28 21:28:21

手写数字识别系统Python课设:CNN模型训练与部署指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
ARTEMIS 视觉驱动移动端自动化:从架构到实战的完整指南 2026/9/28 21:28:14

ARTEMIS 视觉驱动移动端自动化:从架构到实战的完整指南

移动端自动化这个方向,过去几年一直有个尴尬的瓶颈:脚本能点、能滑、能截图,但一旦界面稍有变化,整套流程就崩了。传统方案靠的是控件树和固定坐标,本质上是在"背答案",而不是"理解题目&quo…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉