91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis-plus使用@EnumValue處理枚舉類型的示例代碼

發布時間:2020-09-16 10:58:29 來源:腳本之家 閱讀:988 作者:碼農-文若書生 欄目:開發技術

自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 枚舉 內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

垫江县| 闵行区| 郴州市| 邵东县| 阿克苏市| 巧家县| 香格里拉县| 岚皋县| 三穗县| 三亚市| 昭觉县| 衡东县| 繁昌县| 新营市| 内乡县| 固安县| 荔浦县| 涿州市| 铜鼓县| 遵义县| 土默特左旗| 洱源县| 通辽市| 富裕县| 新蔡县| 邻水| 北海市| 商水县| 临安市| 垦利县| 亳州市| 瓦房店市| 白城市| 邮箱| 绵阳市| 遂平县| 阿勒泰市| 大埔区| 宁阳县| 女性| 德保县|