Mybatis-Plus通用枚举 -基于jackson(Springboot-web内置)

枚举类

使用 @EnumValue注解标识数据库字段

package com.example.enumpackage;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;

/**
 * @description: mybatis-plus通用枚举 ||性别
 * @author: GuoTong
 * @createTime: 2021-08-21 20:38
 * @since JDK 1.8 OR 11
 **/
public enum GenderTypeEnum {

    WOMAN(0, "女"),
    MAN(1, "男"),
    SECURITY(2, "保密");

    //数据库存入的性别字段:0标识女 ,1标识男,2标识保密
    @EnumValue
    @JsonValue    //标记响应json值
    private Integer gender;

    private String chinaMsg;

    GenderTypeEnum(int gender, String chinaMsg) {
        this.gender = gender;
        this.chinaMsg = chinaMsg;
    }

    @Override
    public String toString() {
        return "GenderTypeEnum{" +
                "gender=" + gender +
                ", chinaMsg='" + chinaMsg + '\'' +
                '}';
    }
}

建立枚举解析策略

  @Bean
    public Jackson2ObjectMapperBuilderCustomizer customizer(){
        return builder -> builder.featuresToEnable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
    }

回头再枚举数据库字段加上解析注解: @JsonValue //标记响应json值

测试

 @Test
    public void TestCommonEnum() {
        //通用枚举|将性别转化为1男,0女去查询
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.eq("gender", GenderTypeEnum.WOMAN);
        List<User> users = service.list(wrapper);
        System.out.println(users);
    }

结果:

[{"id":5,"name":"蚂蚁金服","gender":"0","age":23,"address":"月牙湾","qq":"23435546","email":"gsgrv@co.com"},{"id":7,"name":"瑞雯","gender":"0","age":23,"address":"召唤师峡谷","qq":"9090960","email":"ruiwen@13.com"},{"id":8,"name":"汤姆","gender":"0","age":23,"address":"上海市","qq":"8967340","email":"tom@google.com"},{"id":9,"name":"刘德华","gender":"0","age":233,"address":"重庆市","qq":"23464575","email":"wangfei@qq.cn"}]

posted on   白嫖老郭  阅读(385)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示