欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Mybatis中如何使用TypeHandler實現(xiàn)處理枚舉-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)建站基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)四川樂山服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。

這期內(nèi)容當中小編將會給大家?guī)碛嘘PMybatis中如何使用TypeHandler實現(xiàn)處理枚舉,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在Mybatis中,處理枚舉類的TypeHandler有兩個:

  • EnumTypeHandler: 用于保存枚舉名
  • EnumOrdinalTypeHandler: 用于保存枚舉的序號。

在實際項目中,以上往往不能滿足我們的需求。

需求分析

枚舉需要包含兩個屬性,label(用于顯示), value(實際的枚舉值)。數(shù)據(jù)庫保存枚舉值(value)。

這很明顯Mybatis提供的兩個枚舉TypeHandler不能滿足我們的需求。此時,我們可以自定義一個通用的枚舉TypeHandler來滿足我們的需求。

自定義枚舉TypeHandler

通用枚舉DisplayedEnum

public interface DisplayedEnum {
 String DEFAULT_VALUE_NAME = "value";
 String DEFAULT_LABEL_NAME = "label";
 default Integer getValue() {
 Field field = ReflectionUtils.findField(this.getClass(), DEFAULT_VALUE_NAME);
 if (field == null)
  return null;
 try {
  field.setAccessible(true);
  return Integer.parseInt(field.get(this).toString());
 } catch (IllegalAccessException e) {
  throw new RuntimeException(e);
 }
 }
 @JsonValue
 default String getLabel() {
 Field field = ReflectionUtils.findField(this.getClass(), DEFAULT_LABEL_NAME);
 if (field == null)
  return null;
 try {
  field.setAccessible(true);
  return field.get(this).toString();
 } catch (IllegalAccessException e) {
  throw new RuntimeException(e);
 }
 }
 static <T extends Enum<T>> T valueOfEnum(Class<T> enumClass, Integer value) {
 if (value == null)
  throw new IllegalArgumentException("DisplayedEnum value should not be null");
 if (enumClass.isAssignableFrom(DisplayedEnum.class))
  throw new IllegalArgumentException("illegal DisplayedEnum type");
 T[] enums = enumClass.getEnumConstants();
 for (T t: enums) {
  DisplayedEnum displayedEnum = (DisplayedEnum)t;
  if (displayedEnum.getValue().equals(value))
  return (T) displayedEnum;
 }
 throw new IllegalArgumentException("cannot parse integer: " + value + " to " + enumClass.getName());
 }
}

網(wǎng)頁名稱:Mybatis中如何使用TypeHandler實現(xiàn)處理枚舉-創(chuàng)新互聯(lián)
鏈接URL:http://aaarwkj.com/article14/gecde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站外貿(mào)建站、品牌網(wǎng)站建設網(wǎng)站營銷、關鍵詞優(yōu)化、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計
九九热久久这里全是精品| 免费高清av一区二区| 国产午夜亚洲精品福利| 亚州精品乱码久久电影| 日韩中字在线一区二区| 九九热精品在线观看视频| 精品国产一区=区三区乱码| 日本韩国欧美在线一区| 久久成人日韩电影午夜| 日韩精品视频在线观看| 刘亦菲毛片一区二区三区| 黑寡妇精品欧美一区二区毛| 日本人妻成人免费大片| 国产亚洲精品久久综合阿香| 91麻豆亚洲国产成人久久| 国产精品传媒在线观看网站| 亚洲视一区二区三区四区| 操老熟女一区二区三区| 最美是你免费视频观看| 99久久免费热在线观看| 久久综合久久狠狠激情| 五月婷婷六月丁香俺来也| 日韩高清精品一区二区| 亚洲精品国产第一区第二区| 丁香色婷婷国产精品视频| 传媒在线免费观看视频| 国产午夜激情在线播放| 天天操夜夜操夜夜操精品| 国产高清不卡av在线| 久娜娜精品视频在线观看| 人妻少妇中文字幕久久| av一区二区日韩电影| 99热精品综合在线观看| 美女丝袜诱惑国产在线观看| 亚洲欧美日韩精品在线观看| 国产亚洲精品视频二区| 国产熟女真实乱精品视频| 国产一区二区三区高潮爽| 成年女人大片免费观看版| 日韩精品高清视频在线观看| 丁香婷婷麻豆激情综合网|