Mybatis XML中使用枚举

2023-11-08

枚举类

import com.baomidou.mybatisplus.annotation.IEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import com.shinkeer.common.utils.StringUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * 资产归属类型
 * 个人P001,团队P002,企业P003
 */
public enum AssetOwnershipType implements IEnum<String> {

    /**
     * 个人
     */
    SELF("P001"),

    /**
     * 团队
     */
    TEAM("P002"),

    /**
     * 企业
     */
    ENTERPRISE("P003");

    private static Map<String, AssetOwnershipType> lookup = new HashMap<>();

    static {
        for (AssetOwnershipType type : values()) {
            lookup.put(type.code, type);
        }
    }

    private final String code;

    AssetOwnershipType(String code) {
        this.code = code;
    }

    @JsonCreator
    public static AssetOwnershipType valueOfCode(String code) {
        if (StringUtils.isBlank(code)) {
            return null;
        }
        if (!lookup.containsKey(code)) {
            throw new IllegalArgumentException();
        }
        return lookup.get(code);
    }

    @JsonValue
    @Override
    public String getValue() {
        return this.code;
    }
}

查询入参直接使用枚举解析 

枚举使用 

注意事项 

1.对比得使用 ==

2.使用包路径 如上图 后面的@路径@xx 就是枚举里面的值 其他枚举同理

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mybatis XML中使用枚举 的相关文章

随机推荐

  • k8s flannel划分子网方案

    目标 对宿主节点划分子网 同时实现对不同应用划分子网 实现说明 部署k8s时 划分宿主节点ip 对每个节点配置不同net conf json 这样pod调度到宿主节点时 根据net conf json内的network配置分配ip 实现po
  • git基本使用

    1 git init 初始化本地仓库 2 git add 或文件名 暂存 3 git commit m 自己定名字 4 git status 查看 5 git remote add origin https github com xxx 6
  • 强化学习之混合动作空间

    强化学习之混合动作空间 基本介绍 在强化学习的动作空间设定中有连续动作空间 离散动作空间和混合动作空间 在大多数的论文中研究的都是连续动作空间和离散动作空间 而混合动作空间研究的比较少 在游戏ai 自动驾驶等一些领域中有时动作空间可以是混合
  • 安装Elasticsearch

    gt 安装 1 创建基础环境 环境 centos7 9 es版本 7 13 3 按照如下的步骤一步步走 就可以正常完成安装 groupadd es useradd es g es p es123 cd home mkdir p elk es
  • nuxt.js局部引用quill富文本编辑器

    想在nuxt js中使用quill富文本编辑器 按照网上常见的方法 将css js 添加到 nuxt config js 这是全局调用了quill的css js 文件 在每个页面的源码中 都可以看到quill 的css js 这是没有必要的
  • 老板让你做性能优化,第一步你应该做什么?

    前言 项目的性能决定了用户对项目的整体感观度 优秀的性能可以保证项目的流畅与自然给用户愉快的体验感受 当我们开发完成一个项目以后最重要的环节就是要保证项目拥有一个良好的性能 所以开发完成以后需要我们针对项目做好性能优化 那么 要使一个项目拥
  • 大模型杀手级场景到底什么会到来

    大模型大潮之下 熙熙攘攘 皆为利来 皆为利往 所以很多人观望之后发现到现在还没有杀手级落地场景 便有些不耐烦了 觉得可能又是一股泡沫 但究竟是不是泡沫 需要从宏观角度分析下当前大模型的现状 笔者认为这种不耐烦其实来源于两个原因 1 天下事
  • 最适合零基础的爬虫教程,从零开始教你爬取十万表情包。非常简单。

    前言 事情要从几天前说起 我有一个朋友 他在和他喜欢的小姐姐聊天时 聊天的气氛一直非常尬 这时他就想发点表情包来缓和一下气氛 但一看自己的表情包收藏都是这样的 这发过去 基本就直接和小姐姐说拜拜了 然后他就向我求救问我有没有表情包 表情包我
  • 1、TCP三次握手、四次挥手;2、ADSL定义

    1 TCP三次握手 四次挥手详解 1 建立连接协议 三次握手 1 客户端发送一个带SYN标志的TCP报文到服务器 这是三次握手过程中的报文1 2 服务器端回应客户端的 这是三次握手中的第2个报文 这个报文同时带ACK标志和SYN标志 因此它
  • Appium 全新 2.0 全新跨平台生态,版本特性抢鲜体验!

    关于Appium V2 Appium V2 beta版本在2021年发布 从2022年1月1号开始 Appium核心团队不会再维护Appium 1 x版本了 所有近期官方发布的平台驱动 如Android平台的UIAutomator IOS平
  • W801上电自动重连wifi并通过蓝牙更新账号密码

    一 项目流程 项目整体思路比较简单 W801上电后读取内部flash中保存在固定位置的Wifi账号密码 同时开始蓝牙 每当蓝牙接收到命令后 就对其进行解析 如果为连接wifi命令 则断开当前wifi 并进行新的wifi连接 连接成功后将账号
  • 使用pkg打包Node.js应用:跨平台运行你的应用程序!

    使用pkg打包Node js应用 跨平台运行你的应用程序 你是否曾经遇到过在不同操作系统中运行同一个Node js应用程序时出现的问题 这是因为Node js不具备跨平台能力 所以需要一个打包工具来解决这个问题 幸运的是 有一个名为pkg的
  • 颜色、形状和纹理:使用 OpenCV 进行特征提取

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 如何从图像中提取特征 第一次听说 特征提取 一词是在 YouTube 上的机器学习视频教程中 它清楚地解释了我们如何在大型数据集中提取特征 很简单 数据集的列就是特征 然
  • Error: Command failed: C:\windows\system32\cmd.exe /s /c "E:\programfiles\androidSDK\platform-tools\...

    问题 appium等自动化环境都安装配置号后 遇到如下问题 Error Command failed C windows system32 cmd exe s c E programfiles androidSDK platform too
  • 基于深度学习的指针式仪表图像智能读数方法

    针对传统图像处理的仪表识别方法鲁棒性较差 难以满足复杂环境下的指针式仪表图像读数 而深度学习的方法通过样本的训练能够适应更多的复杂场景 越来越多的仪表读数解决方案更偏向于使用深度学习的方法 而现在的基于深度学习的方法在仪表识别的解决方案中主
  • 某直装外挂卡密校验逆向分析

    前言 最近分析了一款外挂软件的卡密校验 过程挺有趣的 故记录下来 正文 该软件的界面如下图 登录卡密是该界面的一个按钮 首先是获取该界面的类名 如下 该界面所在的类是com app batman MainActivity 获取到该界面所在的
  • VUE:v-for的使用及源码

    一 前言 v for可以说是vue中使用最多的指令之一 不过 你真的了解它吗 v for不仅仅能用于遍历数组 也不仅仅能用于遍历对象 二 使用 先说结论 v for可以遍历数组 对象 数字以及字符串 以及 在vue3版本新增的对于部署了it
  • 嵌入式Linux驱动笔记(二十三)------使用buidroot构建文件系统

    你好 这里是风筝的博客 欢迎和我一起交流 所有的buidroot使用问题都可以看这个在线使用文档 https buildroot org downloads manual manual html about buildroot Buildr
  • 浏览器渲染页面的流程

    一 浏览器渲染页面的原理及流程 浏览器的核心部分是渲染引擎 也称为浏览器的内核 负责对网页语法 如HTML CSS JavaScript等 的解释并显示网页 Firefox使用Geoko Mozilla自主研发的渲染引擎 Safari和Ch
  • Mybatis XML中使用枚举

    枚举类 import com baomidou mybatisplus annotation IEnum import com fasterxml jackson annotation JsonCreator import com fast