首页
学习
活动
专区
圈层
工具
发布
综合排序丨最热优先丨最新优先
时间不限
自定义MyBatis通用枚举类型处理器 --- 是真的通用
自定义 MyBatis 通用枚举类型解析器 在使用MyBatis的过程中,我们经常会使用到枚举类型的数据, 一般在保存数据时只是想将枚举类型的code值存入到数据库中,查询时希望能自动根据code值映射出对应的枚举对象出现 为了实现所有的枚举都自动注册通用类型转换器,这里需要自定义一个配置类CustomizeMyBatisConfiguration.java并实现org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer { public void customize(Configuration configuration) { // 将自定义的通用枚举类型处理器`MyBatisEnumTypeHandler 获取所有需要注册到通用枚举类型处理器中的枚举类 1. 过滤出需要处理的枚举类后,通过`TypeHandlerRegistry`将当前枚举类型使用通用的枚举类型处理器注册到类型处理器中 4.
用户9867745
2024-02-04
1.2K0
标签:
MybatisPlus通用枚举
一一《古诗十九首》 在项目开发中,经常数据库中的一个字段对应一个枚举 对于这些枚举,我们要使用数据库将他们的值映射起来 MybatisPlus为我们提供了优雅的解决方案 只需要配置中添加枚举处理器 ,开启通用枚举支持 mybatis-plus: #指定Mybatis的Mapper文件 mapper-locations: classpath:mappers/*xml #指定Mybatis configuration: # 开启mybatis日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启通用枚举支持 ordinalType default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler 然后如果是对于一些简单的枚举 ; import lombok.AllArgsConstructor; import lombok.Getter; /** * 性别枚举 * * @author <achao1441470436
阿超
2022-08-17
8910
标签:
MyBatis-Plus通用枚举
创建通用枚举类型 package com.atguigu.mp.enums; import com.baomidou.mybatisplus.annotation.EnumValue; import SexEnum(Integer sex, String sexName) { this.sex = sex; this.sexName = sexName; } } 配置扫描通用枚举 # 配置MyBatis-Plus操作表的默认前缀 table-prefix: t_ # 配置MyBatis-Plus的主键策略 id-type: auto # 配置扫描通用枚举 void testSexEnum(){ User user = new User(); user.setName("Enum"); user.setAge(20); //设置性别信息为枚举项
鱼找水需要时间
2023-02-16
3940
标签:
MyBatis-Plus 通用枚举
# MyBatis-Plus 通用枚举 数据库添加字段sex 创建通用枚举类型 配置扫描通用枚举 测试 结果 表中的有些字段值是固定的,例如性别(男或女),此时我们可以使用MyBatis-Plus的通用枚举来实现 # 数据库添加字段sex ALTER TABLE t_user ADD sex INT(11) # 创建通用枚举类型 /** * @author frx * @version 1.0 * @date Integer sex, String sexName) { this.sex = sex; this.sexName = sexName; } } # 配置扫描通用枚举 MyBatis-Plus的主键策略 id-type: auto # 配置类型别名所对应的包 type-aliases-package: com.frx01.mybatisplus.pojo # 扫描通用枚举的包
用户9615083
2022-12-25
5100
标签:
WPF 借助 FuncValueConverter 实现可显示自定义文本的通用枚举项选择弹窗
WPF 借助 FuncValueConverter 实现可显示自定义文本的通用枚举项选择弹窗 独立观察员 2025 年 1 月 12 日 一、前言 首先来解释一下标题中的 FuncValueConverter 以下动图展示了绑定了同一个枚举类型的两个枚举项选择弹窗,一个弹窗中显示的是枚举的描述,另一个弹窗中显示的是枚举的自定义显示文本: 枚举定义如下: 自定义文本如下: 调用方式,可以看到,两个弹窗创建时都需要一个枚举列表参数和一个当前选中项参数 ,显示自定义文本的弹窗比显示枚举描述的弹窗多传一个自定义文本参数: 三、显示枚举描述的选择枚举弹窗 先来看看 .cs 代码: 也很简单,就是一个窗口类,然后有三个绑定属性(使用 Fody 简化,并在前端将 前端关键代码如下图(图中有具体解释,就不再赘述了),其中内容显示部分中用了一个获取枚举描述的转换器 GetEnumDescriptionConverter 将枚举描述显示出来: 四、显示自定义文本的选择枚举弹窗 WPFTemplateLib 项目(NuGet 包)中找到: 原创文章,转载请注明: 转载自 独立观察员 (dlgcy.com) 本文链接地址: [WPF 借助 FuncValueConverter 实现可显示自定义文本的通用枚举项选择弹窗
独立观察员
2025-01-13
1.3K0
标签:
Mybatis-Plus 通用枚举类型的使用
在 Mybatis-Plus 中我们可以使用枚举类型来完成这一操作,他能自动将数据库里的字段映射成我们需要的字段,例如性别,新建枚举类如下: @Getter public enum GenderType 关键点: @EnumValue:标注哪一个字段是数据库里的字段; @JsonValue:标注要开启自定义序列化返回值; toString:具体的返回值; 同时我们需要在与数据库关联的实体类中修改类型,将性别字段改为枚举类型 在配置文件中配置扫描注解类型: #mybatis-plus 配置 mybatis-plus: type-enums-package: com.demo.test.enums 这个时候再去查询,返回的结果就直接是我们在枚举类型中定义的
wsuo
2021-08-24
2.8K0
标签:
自定义枚举 --- Gson转换
通过Restful接口返回的JSON数据默认是枚举的名字,但是使用自定义枚举时,一般统一使用自定义的code来代表。 所以需要自定义HttpMessageConverter CodedTypeTypeAdapter import com.google.gson.*; import com.utils.mybatis.CodedEnum com.tenmao.web.mvc.support.HttpMessageConverter" /> </mvc:message-converters> </mvc:annotation-driven> 完成 实现上述步骤后,只要实现接口CodedEnum的自定义枚举都可以自动转换为其 code值 自定义枚举系列 自定义枚举 --- MyBatis字段映射 自定义枚举 --- Swagger文档展示
十毛
2019-03-27
1.5K0
标签:
自定义枚举 --- Swagger文档展示
在其它两篇文章中,已经解决的自定义枚举在MyBatis以及Rest接口的转换,但是在Springfox中还存在问题,不能使用code来作为api。 本文通过扩展Springfox,实现了对自定义枚举的良好支持。 ps: 枚举的定义参见 自定义枚举 --- MyBatis字段映射 当前 ? Springfox默认枚举 存在2个问题 类型显示为string,需要修改为integer 枚举的类型显示为枚举值,需要修改为枚举的code值(CodedEnum的定义请参见其他文章) 扩展后 ? DocumentationType documentationType) { return true; } } ps: 这篇文章可能小众,但是原创性特别高,同类的网上资源特别少,建议收藏 自定义枚举系列 自定义枚举 --- MyBatis字段映射 自定义枚举 --- Gson转换 参考 Plugins Available For Extensibility springfox-swagger原理解析及使用过程中可能会遇到的坑
十毛
2019-03-27
3K0
标签:
自定义类型:联合和枚举
) { int ret = check_sys(); if (ret == 1) printf("小端\n"); else printf("大端\n"); return 0; } 二、枚举类型 1.枚举类型的声明 枚举就是一一列举,把可能的值一一列举。 ,也叫做枚举常量。 这些可能取值都是有值的,默认从0开始,当然在声明枚举类型时也可以赋值。 2.枚举类型的优点 ①增加代码的可读性和可维护性。 ②和#define定义的标识符比较,枚举有类型检查,更加严谨。 ⑤枚举常量是遵循作用域规则的,枚举声明在函数内,只能在函数内使用。
25遇见
2025-11-05
3290
标签:
自定义枚举 --- MyBatis字段映射
MyBatis自带的EnumTypeHandler转换为文字保存在数据库,EnumOrdinalTypeHandler使用的是序号,它们的一致性都可能被轻易地破坏,所以最好的办法是自定义一个int类型 自定义公共父接口 package com.tenmao.utils.mybatis; import java.util.Arrays; import java.util.Optional; public <property name="typeHandlersPackage" value="com.tenmao.utils.mybatis.handler" /> </bean> 自定义枚举 getCode() { return code; } } ps: 参考资料写得特别好,我之所以重新写了一下,是资料写得有点啰嗦,比如子类的注册,其实都是自动的,不需要再额外配置 自定义枚举系列 自定义枚举 --- Gson转换 自定义枚举 --- Swagger文档展示 参考 如何在MyBatis中优雅的使用枚举
十毛
2019-03-27
2.8K0
标签:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档