mybatis-plus使用@EnumValue處理枚舉類型的示例代碼
自mybatis3.1.0開始,如果你無需使用原生枚舉,可配置默認(rèn)枚舉來省略掃描通用枚舉配置 默認(rèn)枚舉配置
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、定義一個(gè)枚舉,在需要存入數(shù)據(jù)庫的字段上加上@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、測(cè)試實(shí)體使用枚舉
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、測(cè)試讀取和存儲(chǔ)帶有枚舉的實(shí)體
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;
}
}
到此這篇關(guān)于mybatis-plus使用@EnumValue處理枚舉類型的示例代碼的文章就介紹到這了,更多相關(guān)mybatis-plus @EnumValue 枚舉 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaGUI實(shí)現(xiàn)隨機(jī)單詞答題游戲
這篇文章主要為大家詳細(xì)介紹了JavaGUI實(shí)現(xiàn)隨機(jī)單詞答題游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
Java Swing中JList選擇事件監(jiān)聽器ListSelectionListener用法示例
這篇文章主要介紹了Java Swing中JList選擇事件監(jiān)聽器ListSelectionListener用法,結(jié)合具體實(shí)例形式分析了中JList選擇事件監(jiān)聽器ListSelectionListener的功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-11-11
Java Thread中start()和run()的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
start() : 它的作用是啟動(dòng)一個(gè)新線程,新線程會(huì)執(zhí)行相應(yīng)的run()方法。start()不能被重復(fù)調(diào)用。而run() : run()就和普通的成員方法一樣,可以被重復(fù)調(diào)用。下面通過示例代碼給大家介紹了Java Thread中start()和run()的區(qū)別,感興趣的朋友一起看看吧2017-05-05
SpringMVC接收前臺(tái)傳遞過來的值的實(shí)例
下面小編就為大家分享一篇SpringMVC接收前臺(tái)傳遞過來的值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
httpclient 請(qǐng)求http數(shù)據(jù),json轉(zhuǎn)map的實(shí)例
下面小編就為大家?guī)硪黄猦ttpclient 請(qǐng)求http數(shù)據(jù),json轉(zhuǎn)map的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
java 使用ConcurrentHashMap和計(jì)數(shù)器實(shí)現(xiàn)鎖
這篇文章主要介紹了java 使用ConcurrentHashMap和計(jì)數(shù)器實(shí)現(xiàn)鎖的相關(guān)資料,需要的朋友可以參考下2017-05-05
java實(shí)現(xiàn)Socket通信之單線程服務(wù)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)Socket通信的單線程服務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07

