在使用mybatis时遇到枚举的相关问题和解决

news/2025/3/22 5:28:37/

目录

1.前言

2.问题解决 

2.1 在父依赖中添加版本管理

 2.2 微服务中引入依赖

2.3 在application.yaml中进行配置

2.4 在枚举中添加注解 


1.前言

今天在使用mybatis的时候,如下SQL查询遇到了报错(其中status为枚举类型,数据库中存的为整形):

select id, avatar, username, password, phone, status from user where phone = #{phone} 

Error attempting to get column 'status' from result set. Cause: java.lang.IllegalArgumentException: No enum constant com.shop.user.enums.UserStatus.1] with root cause

发现原因是mybatis无法正常处理我的枚举类型,如下 :

java">public enum UserStatus {FROZEN(0, "禁止使用"),NORMAL(1, "已激活"),;int value;String desc;// 其它代码
}

2.问题解决 

看了一些博客,也问了gpt,原生的mybatis处理起来确实比较麻烦,所有我选择mybatis plus,它仅仅需要一个注解就能完美解决问题,顺带也解决了select只查询一部分字段的问题。我的项目为springcloud项目,下面是我的解决方法。

2.1 在父依赖中添加mybatis plus版本管理

<!-- mybatis plus 管理 -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version>
</dependency>

 2.2 微服务中引入依赖

<!-- mybatis plus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>

2.3 在application.yaml中进行配置

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

2.4 在枚举中添加注解 

java">public enum UserStatus {FROZEN(0, "禁止使用"),NORMAL(1, "已激活"),;@EnumValueint value;String desc;// 其它代码
}

http://www.ppmy.cn/news/1581066.html

相关文章

Compose 实践与探索十五 —— 自定义触摸

1、自定义触摸与一维滑动监测 之前我们在讲 Modifier 时讲过如下与手势检测相关的 Modifier&#xff1a; Modifier.clickable { } Modifier.combinedClickable { } Modifier.pointerInput {detectTapGestures { } }这里对以上内容就不再赘述了&#xff0c;直接去讲解更复杂的…

Linux--软硬链接、动静态库

一、深刻理解软硬链接 在Linux中&#xff0c;链接是一种将文件或者目录连接到其他位置的方法&#xff0c;分为硬链接和软链接。 硬链接&#xff1a;硬链接是通过在文件系统中创建一个新的文件&#xff0c;该文件与原文件共享相同的 inode&#xff08;索引节点&#xff09;。in…

王者荣耀道具页面爬虫(json格式数据)

首先这个和英雄页面是不一样的&#xff0c;英雄页面的图片链接是直接放在源代码里面的&#xff0c;直接就可以请求到&#xff0c;但是这个源代码里面是没有的 虽然在检查页面能够搜索到&#xff0c;但是应该是动态加载的&#xff0c;源码中搜不到该链接 然后就去看看是不是某…

matlab的s-function模块使用说明

MATLAB 中的 S-Function&#xff08;System Function&#xff09;模块是一个非常强大的工具&#xff0c;可以让你自定义 Simulink 模型中的功能&#xff0c;或者将特定的算法和逻辑以编程方式嵌入到 Simulink 中。通过 S-Function&#xff0c;你可以将 MATLAB 代码、C 语言代码…

社区医疗管理系统基于Spring Boot SSM

目录 一、市场现状与发展趋势 二、功能描述 三、技术分析 四、需求分析 2.1社区居民需求 2.2医护人员需求 2.3管理人员需求 社区医疗管理系统是针对社区医疗卫生机构设计的一套综合性医疗信息管理解决方案&#xff0c;旨在通过信息化手段提升医疗服务效率与质量&#xf…

高级java每日一道面试题-2025年3月05日-微服务篇[Eureka篇]-Eureka在微服务架构中的角色?

如果有遗漏,评论区告诉我进行补充 面试官: Eureka在微服务架构中的角色? 我回答: 在微服务架构中&#xff0c;Eureka作为Netflix开源的服务发现组件&#xff0c;在解决服务间通信的寻址问题方面扮演着至关重要的角色。以下是结合提供的内容对Eureka在微服务架构中的角色进行…

苍穹外卖-WebSocket使用的前置条件

第一步&#xff1a; 直接使用websocket.html页面作为WebSocket客户端 这里不用理会 第二步&#xff1a; 导入WebSocket的maven坐标 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</arti…

【css酷炫效果】纯CSS实现粒子旋转动画

【css酷炫效果】纯CSS实现粒子旋转动画 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板&#xff0c;链接放在这里&#xff1a;https://download.csdn.net/download/u011561335/90492008 缘 创作随缘&#xff0c;不定时更新。 创作背景 刚看到csdn出活动了&…