使用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 ...
随机推荐
- .NET 服务发现
.NET 服务发现 https://learn.microsoft.com/en-us/dotnet/core/extensions/service-discovery?tabs=dotnet-cli ...
- 【MyBatis】学习笔记06:各种查询所返回数据的数据类型
[Mybatis]学习笔记01:连接数据库,实现增删改 [Mybatis]学习笔记02:实现简单的查 [MyBatis]学习笔记03:配置文件进一步解读(非常重要) [MyBatis]学习笔记04:配 ...
- 如何在BASH中将制表符分隔值(TSV)文件转换为逗号分隔值(CSV)文件?(How do I convert a tab-separated values (TSV) file to a comma-separated values (CSV) file in BASH?)
我有一些TSV文件需要转换为CSV文件. BASH中是否有任何解决方案,例如使用awk来转换这些?我可以这样使用sed,但担心它会出错: sed 's/\t/,/g' file.tsv > fi ...
- Qt编写linux系统onvif工具(支持预览/云台/预置位/录像等)
一.功能特点 广播搜索设备,支持IPC和NVR,依次返回. 可选择不同的网卡IP进行对应网段设备的搜索. 依次获取Onvif地址.Media地址.Profile文件.Rtsp地址. 可对指定的Prof ...
- 阿里云maven仓库地址的配置
两种配置方式: 1. maven 配置文件配置settings.xml中设置mirror节点 <mirror> <id>nexus-aliyun</id> < ...
- vue基础5
1.组件通信 a.父传子: // 总结:1.父传子:传递的是基础数据类型 给父组件中的子组件绑定属性,此时属性的值在父组件中已经定义,子组件需要通过porps接收,要用数组接收 在子组件中直接渲染接收 ...
- ClickHouse-3引擎
引擎 数据库引擎 index 表引擎 数据库引擎 数据库引擎允许您处理数据表. 默认情况下,ClickHouse使用Atomic数据库引擎.它提供了可配置的table engines和SQL dial ...
- biancheng-Pygame(python)
http://c.biancheng.net/pygame/ Python Pygame 是一款专门为开发和设计 2D 电子游戏而生的软件包,它支 Windows.Linux.Mac OS 等操作系统 ...
- useMemo和useCallback的使用
useMemo const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]); 把"创建" ...
- Winform-耗时操作导致界面渲染滞后
原因: 某些耗时操作阻塞了主线程. 理解上述原因,需先搞清楚Winform线程机制.主要有以下2点特性:1.单线程模型:2.依赖消息循环. 1.单线程模型 Winform 默认是单线程.通常,所有的U ...