写在前面:各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢! 有时候会把表里的某个字段的值设置为数字或者为英文来表示他的一些特殊含义,就拿设置英文字母来说,假如a对应是学生,b对应是教师,在java里面定义成这样的枚举,但是一般使用mybatis查出来的话,我们想要让它自动装换成我们想要的枚举,这时候在接口返回的时候首先我想到的是自己对
文章目录1. 配置文件添加配置2. 定义枚举2.1 方式一2.2 方式二2.3 方式三3. 定义实体类4.测试使用 1. 配置文件添加配置# MP 配置
mybatis-plus:
type-enums-package: com.baomidou.mybatisplus.samples.enums.enums
configuration:
# 3.0.8之前版本问题默认将枚举注册
转载
2024-05-31 09:28:54
1298阅读
文章目录前言typeHandler 类型处理器枚举类型默认的 typeHandlerMybatis 结合枚举最简单的方式定义枚举类准备一个表最简单的方式使用 Mybatis 的 EnumOrdinalTypeHandler类的路径使用 EnumOrdinalTypeHandler 存储的是索引如果使用 Mybatis 代码自动生成工具如果修改已有的 xml看数据库结果参考内容 前言在使用 Myb
转载
2024-04-03 13:48:52
442阅读
枚举可以让代码变得更为优雅,B格更高。当然MyBatis也是支持枚举类型的啦。首先,MyBatis内置了Enum的TypeHandler TypeHandlerJava类型JDBC类型EnumTypeHandlerEnumVARCHAR或任何兼容字符串的类型, 存储的是枚举的名称(而不是索引)EnumOrdinalTypeHandlerEnum任何兼容NUMERIC或DOUBLE类型 存储的是枚举
转载
2024-03-04 16:34:07
737阅读
文章目录1. 使用场景2. 技术实现2.1 实现思路2.2 代码实现2.2.1 引入依赖2.2.2 自定义校验注解2.2.3 校验工具类2.2.4 校验处理逻辑3. 使用示例 1. 使用场景某接口的入参某属性,只希望为系统中某枚举的中定义过的值。 例如:用户类型枚举中定义 10-普通用户 20-管理员 30-游客 40-中级用户 50-高级用户 希望某接口的入参 userType 只能填入这几种
转载
2024-03-05 04:31:26
93阅读
在mybatis和mybatis plus里,如果你的实体字段是一个枚举类型,而在数据表里是整型,这时在存储时需要进行处理,默认情况下,会把枚举的元素名称拼接到SQL语句里,而由于数据表是int类型,所以在插入等操作时,就会出现异常! 添加枚举处理器 MappedTypes(value = {Yes
原创
2022-08-25 10:36:39
224阅读
说明:(0)声明:可能本篇博客,自己的理解,存在偏差;但就目前来说,本篇博客的内容,能够帮助自己形成自洽; (主要的一个点是:自己这儿区分开了【枚举数据类型】和【枚举类】究竟合不合适)(1)为什么要介绍枚举类?:在【Spring Boot电商项目14:用户模块三:API统一返回对象;(其中,涉及了【使用枚举类,来管理接口失败时的错误信息】;)】中,遇到了【使用枚举类,来来管理接口失败时的
转载
2024-05-31 13:36:56
44阅读
该图片由Johnnys_pic在Pixabay上发布你好,我是看山。在优雅的使用枚举参数(原理篇)中我们聊过,Spring对于不同的参数形式,会采用不同的处理类处理参数,这种形式,有些类似于策略模式。将针对不同参数形式的处理逻辑,拆分到不同处理类中,减少耦合和各种if-else逻辑。本文就来扒一扒,RequestBody参数中使用枚举参数的原理。找入口对 Spring 有一定基础的同学一定知道,请
转载
2024-02-21 11:21:31
83阅读
你好,我是看山。SpringBoot 实战:优雅的使用枚举参数 中聊了怎么优雅的使用枚举参数,本文就来扒一扒 Spring 是如何找到对应转换器 Converter 的。找入口对 Spring 有一定基础的同学一定知道,请求入口是DispatcherServlet,所有的请求最终都会落到doDispatch方法中的ha.handle(processedRequest, response, mapp
转载
2024-02-29 17:47:20
62阅读
6.3 使用枚举或其他对象在 sys_role 表中存在一个字段 enabled,这个字段只有两个可选值,0 为禁用,1 为启用。但是在 SysRole 类中,我们使用的是 Integer enabled,这种情况下必须手动校验 enabled 的值是否符合要求。在只有两个值的情况下,处理起来还比较容易,但是当出现更多的可选值时,对值进行校验就会变得复杂。因此在这种情况下,我们通常会选择
转载
2023-11-29 15:29:34
9阅读
当我们后端 restful 开发的时候,作为安全开发必须在对一些参数进行校验。在我最开始写代码的时候,把请求参数的校验逻辑写在业务逻辑当中。其实还有更加优雅的方式去进行参数校验,那就是通过 hibernate-validate 通过注册的方式来进行业务校验。1、一个简单的 Demo我们首先通过一个 Spring boot 项目来简单的认识一下如何使用 hibernate-validator 来进行
转载
2023-12-15 10:24:00
108阅读
该图片由Sinousxl在Pixabay上发布你好,我是看山。接口开发过程中不免有表示类型的参数,比如 0 表示未知,1 表示男,2 表示女。通常有两种做法,一种是用数字表示,另一种是使用枚举实现。使用数字表示就是通过契约形式,约定每个数字表示的含义,接口接收到参数,就按照约定对类型进行判断,接口维护成本比较大。在 Spring 体系中,使用枚举表示,是借助 Spring 的 Converter
转载
2024-02-19 13:50:33
615阅读
gitee:https://gitee.com/chaitou/leilema.git前言Mybatis-plus、日志、监控、响应状态码、异常、校验都集成好了,也就是说,如果不考虑优化的话,现在这套框架也上是有模有样了,接下去就可以无休止的写CRUD了…开不开心…Mybatis-plus的使用一、xml自定义sql自定义动态sql算是mybatis的灵魂了,简单的通过productInfo来演
转载
2024-06-29 12:49:59
63阅读
在SpringMVC 转换时候报如下错误ERROR com.xxxx.common.exception.BaseExceptionHandler:56 - org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'XXXXPO' on field 'state': reject
转载
2024-06-01 09:24:25
404阅读
public Object invokeForRequest(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer,
Object... providedArgs) throws Exception {
Object[] args = getMethodArgumentValues(r
转载
2024-06-20 11:26:40
88阅读
两个系统提供的枚举类型处理器枚举类型的类型处理器比较特殊,MyBatis提供了两个处理Java枚举类型的类型处理器:org.apache.ibatis.type.EnumTypeHandler(使用枚举字符串名称作为参数传递)org.apache.ibatis.type.EnumOrdinalTypeHandler(使用枚举整数下标作为参数传递)测试这两个枚举类型处理器数据库中添加表 后两个字段都
转载
2024-10-16 14:43:48
153阅读
前言本篇需要对于MyBatis有一定的认识,而且只是针对于TypeHandler接口来讨论,暂不讨论其他方面的问题TypeHandler概叙 TypeHandler是MyBatis设计的一个用于参数的接口,你们会不会很好奇MyBatis是如何把整形,时间,字符串等映射到数据表字段的,实际上就是这个接口来做的,在TypeHandlerRegistry
文章目录1. 配置文件添加配置2. 定义枚举2.1 方式一2.2 方式二2.3 方式三3. 定义实体类4.测试使用 环境: <mybatis-plus.version>3.4.2</mybatis-plus.version> <spring-boot.version>2.4.2</spring-boot.version>1. 配置文件添加配置主要介
转载
2024-06-25 19:31:00
624阅读
上文示例中SqlMapConfig.xml配置文件是mybaits的全局配置文件,名称随意,你爱咋地咋地。包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:properties属性
settings设置
typeAliases类型别名
objectFactory对象工厂
plugins插件
environments环境 此标签
转载
2024-10-22 01:35:04
41阅读
背景 在做之前项目的时候,里面充斥很多不明的变量,一般来说状态,标志等等属性都需要使用Int或者固定字符串来标识,比如0代表可用,1代表禁用,或者是可用,不可用,随着人员的增加,萝卜酸菜各有所爱,有些人可能会使用1代表可用,0代表不可用。还有的人不喜欢使用0,直接用1,2来代替。使用字符串就更加坑爹了,比如你使用可用,不可用,他使用可用,禁用。虽然知道你要表达的意思,但是给前端人员的时候就十分难
转载
2024-04-09 18:20:59
531阅读