使用mybatis-plus转换枚举值
1. 使用mybatis-plus转换枚举值
枚举值转换方式有很多,有以下方式:
后端写一个通用方法,只要前端传枚举类型,后端返回相应的枚举值前端去匹配
优点:能够实时保持数据一致性
缺点:如果有大量的枚举值转换,请求频繁,对服务造成不必要的压力,可以优化:将每个页面配置一个大的枚举,然后里边包含具体的枚举,这样操作比较繁琐,新增枚举都要修改,不推荐使用
使用注解
以下介绍以下使用mybatis-plus的注解处理枚举值,当然也可以自定义注解完成枚举值的转换
1.1 方式一
实现IEnum方法
public enum SexEnum implements IEnum<Integer> {
MALE(1, "男"),
FEMALE(2, "女");
SexEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
private final Integer code;
private final String value;
@Override
public Integer getValue() {
return this.code;
}
}
===================================vo=========================
public class UserVo {
private Long id;
private String name;
private Integer age;
private String email;
/**
* VO性别类型为刚刚新建的枚举类型
*/
private SexEnum sex;
}
yml中的配置:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
type-enums-package: com.example.mybatisplus.enum #枚举类的包路径,一定不也能错,否则报错
1.2 方式二
public enum SexEnum {
MALE(1, "男"),
FEMALE(2, "女");
SexEnum(Integer code, String value) {
this.code = code;
this.value = value;
}
/**
* 标记数据库存的值是code
*/
@EnumValue
private final Integer code;
/**
* 要返回的值
*/
private final String value;
public Integer getCode() {
return code;
}
public String getValue() {
return value;
}
}
其余的都一样
使用mybatis-plus转换枚举值的更多相关文章
- c++11 实现枚举值到枚举名的转换
效果 ``` ENUM_DEFINE ( Color, Red, Blue, ) EnumHelper(Color::Red) -> "Red" EnumHelper(Col ...
- .NET陷阱之六:从枚举值持久化带来大量空间消耗谈起
好长时间没有写博文了,今天继续. 这次跟大家分享的内容起因于对一个枚举值列表的序列化,下面简化后的代码即能重现.为了明确起见,我显式指定了枚举的基础类型. // 定义一个枚举类型. public en ...
- MVC3不能正确识别JSON中的Enum枚举值
一.背景 在MVC3项目里,如果Action的参数中有Enum枚举作为对象属性的话,使用POST方法提交过来的JSON数据中的枚举值却无法正确被识别对应的枚举值. 二.Demo演示 为了说明问题,我使 ...
- C#记录日志、获取枚举值 等通用函数列表
) { ] >= && ipvals[] <= && ipval ...
- Kendo Grid控件中将枚举值转为枚举名显示
我们在开发过程中经常会遇到需要将枚举值转换成名称进行显示的情况.如下我们有这样一个数据源对象: var users = [ {id: 1, name: "similar1", st ...
- 解决ASP.NET MVC4中使用Html.DropDownListFor显示枚举值默认项问题
从ASP.NET MVC 5开始,Html.DropDownListFor已经提供了对Enum的支持,但在这以前,需要通过帮助方法或扩展方法来让Html.DropDownListFor显示枚举值. 本 ...
- MyBatis(八):Mybatis Java API枚举类型转化的用法
最近工作中用到了mybatis的Java API方式进行开发,顺便也整理下该功能的用法,接下来会针对基本部分进行学习: 1)Java API处理一对多.多对一的用法: 2)增.删.改.查的用法: 3) ...
- 问题-MyBatis不识别Integer值为0的数据
问题-MyBatis不识别Integer值为0的数据 问题:使用MyBatis的过程中,发现一个值为0的数据,Mybatis所识别,最后定位才发现,是自己的写法有问题, <if test=&qu ...
- AX2012 multiple enum values as query filter选择多个枚举值当过滤条件
classDeclaration { QueryBuildRange qbrLocationType; } datasource.init() { super(); qbrLocationType = ...
- 获取枚举值上的Description特性说明
/// <summary> /// 获取枚举值上的Description特性说明 /// </summary> /// <typeparam name="T&q ...
随机推荐
- node-koa2 微信支付,企业付款到零钱
微信支付用的V2版本 微信支付说明文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 参数详细说明请 ...
- HttpClientFacotry Part 4: 集成 Polly 处理瞬时失效
HttpClientFacotry Part 4: 集成 Polly 处理瞬时失效 原文地址:https://www.stevejgordon.co.uk/httpclientfactory-usin ...
- 如何在 Linux 中使用 grep 命令的排除功能
来自grep 是一种强大的命令行工具,用于在一个或多个输入文件中搜索与正则表达式匹配的行,并将匹配的行标准输出.在本文中介绍如何在使用 grep 搜索时排除一个或多个单词或目录. 排除单词或多个条 ...
- IDEA批量实现CRLF转换成LF问题
需要注意idea项目中右下角:选择LF,否则到时候部署到生产环境上会报错'\r\n'问题,之前的解决方案是 dos2unix 然后很多文件报这个问题,索性进行批量转换,但是很快拉去的新项目又会出现同样 ...
- Qt编写视频监控系统72-通过onvif增删改查OSD
一.前言 之前监控系统中原创的onvif协议解析机制,已经能够满足绝大部分用户的需要,比如搜索设备.获取视频流地址并播放.云台控制.预置位管理.图片亮度色彩饱和度等参数设置等,近期又多了一个需求,那就 ...
- 9.24java wab实现创建新界面验证码
<!DOCTYPE html> <html> <head> <title>User Login</title> <style> ...
- An invitation to 3-d vision: from images to geometric models英文pdf下载
Ma Y, Soatto S, Košecká J, et al. An invitation to 3-d vision: from images to geometric models[M]. N ...
- opencv_contrib编译:fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
在Ubuntu上编译opencv3.4.2源码时,遇到下面的错误,错误1:/home/src/software/opencv-3.4.2/modules/stitching/include/openc ...
- [转]解决Android Studio初次配置可能会出现的Unkown Host问题
Unkown Host"杩欐槸鍦ㄤ富鏈哄悕瑙f瀽鏃堕 氬父鍑虹幇鐨勬殏鏃", You may need to adjust the proxy settings in Gradle ...
- 阿里云maven仓库地址的配置
两种配置方式: 1. maven 配置文件配置settings.xml中设置mirror节点 <mirror> <id>nexus-aliyun</id> < ...