mybatis-plus使用@EnumValue处理枚举类型的示例代码
程序员文章站
2022-06-09 15:49:46
自mybatis3.1.0开始,如果你无需使用原生枚举,可配置默认枚举来省略扫描通用枚举配置 默认枚举配置1、配置文件配置枚举所在的包#配置枚举 支持通配符 * 或者 ; 分割mybatis-plus...
自mybatis3.1.0开始,如果你无需使用原生枚举,可配置默认枚举来省略扫描通用枚举配置 默认枚举配置
1、配置文件配置枚举所在的包
#配置枚举 支持通配符 * 或者 ; 分割 mybatis-plus.type-enums-package=com.iscas.biz.mp.test.model.enums mybatis-plus.configuration.default-enum-type-handler=org.apache.ibatis.type.enumordinaltypehandler
2、定义一个枚举,在需要存入数据库的字段上加上@enumvalue注解
package com.iscas.biz.mp.test.model.enums; import com.baomidou.mybatisplus.annotation.enumvalue; import com.fasterxml.jackson.annotation.jsoncreator; import com.fasterxml.jackson.annotation.jsonvalue; import com.fasterxml.jackson.annotation.jsonview; import com.iscas.biz.mp.test.model.testentity; import lombok.getter; import java.util.objects; /** * //todo * * @author zhuquanwen * @vesion 1.0 * @date 2020/4/5 15:23 * @since jdk1.8 */ public enum sexenum /*implements ienum<integer>*/ { /** * 男 * */ man(1, "男"), /** * 女 * */ women(2, "女"); @enumvalue private final int code; @jsonvalue public int getcode() { return this.code; } public string getdescription() { return description; } private final string description; sexenum(int val, string description) { this.code = val; this.description = description; } @jsoncreator public static sexenum getbycode(int code) { for (sexenum value : sexenum.values()) { if (objects.equals(code, value.getcode())) { return value; } } return null; } /* @override public integer getvalue() { return code; }*/ }
3、测试实体使用枚举
package com.iscas.biz.mp.test.model; import com.iscas.biz.mp.test.model.enums.sexenum; import lombok.data; /** * //todo * * @author zhuquanwen * @vesion 1.0 * @date 2020/4/5 15:22 * @since jdk1.8 */ @data public class testentity { private string name; private sexenum sex; }
4、测试读取和存储带有枚举的实体
package com.iscas.biz.mp.test.controller; import com.iscas.biz.mp.test.mapper.testentitymapper; import com.iscas.biz.mp.test.model.enums.sexenum; import com.iscas.biz.mp.test.model.testentity; import com.iscas.templet.common.basecontroller; import com.iscas.templet.common.responseentity; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.*; import java.util.list; /** * //todo * * @author zhuquanwen * @vesion 1.0 * @date 2020/4/5 15:22 * @since jdk1.8 */ @restcontroller @requestmapping("/testentity") public class testmpenumcontroller extends basecontroller { @autowired private testentitymapper testentitymapper; @getmapping("/get") public responseentity testentity() { responseentity response = getresponse(); list<testentity> testentities = testentitymapper.selectlist(null); response.setvalue(testentities); return response; } @postmapping("/post") public responseentity testsaveentity(@requestbody testentity testentity) { responseentity response = getresponse(); int insert = testentitymapper.insert(testentity); response.setvalue(insert); return response; } }
到此这篇关于mybatis-plus使用@enumvalue处理枚举类型的示例代码的文章就介绍到这了,更多相关mybatis-plus @enumvalue 枚举 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
Struts2单选按钮详解及枚举类型的转换代码示例
-
Struts2单选按钮详解及枚举类型的转换代码示例
-
C#程序编写高质量代码改善的157个建议【4-9】[TryParse比Parse、使用int?来确保值类型也可以为null、readonly和const、0值设为枚举的默认值、避免给枚举类型的元素提供显式的值、习惯重载运算符]
-
详解mybatis-plus使用@EnumValue注解的方式对枚举类型的处理
-
mybatis-plus使用@EnumValue处理枚举类型的示例代码
-
js数据结构类型扩展immutable-js的使用介绍(代码示例)
-
Python中枚举类型的详解(代码示例)
-
js数据结构类型扩展immutable-js的使用介绍(代码示例)
-
C#程序编写高质量代码改善的157个建议【4-9】[TryParse比Parse、使用int?来确保值类型也可以为null、readonly和const、0值设为枚举的默认值、避免给枚举类型的元素提供显式的值、习惯重载运算符]
-
Python中枚举类型的详解(代码示例)