类型转换枚举


import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

 
public interface DataTypeEnums {


    /**
     * 获取数据类型转数据库
     */
    enum ToDatabaseTypeEnum {
        TO_VARCHAR("string","VARCHAR"),
        TO_DATE("date","DATE") ,
        BOOLEAN_TO_SMALLINT("boolean","SMALLINT"),
        TO_BIGINT("Long","BIGINT"),
        TO_INTEGER("int","INTEGER"),
        //下面主要是已转的再转一下
        TIMESTAMP("TIMESTAMP","TIMESTAMP"),
        SMALLINT("SMALLINT","SMALLINT"),
        VARCHAR("VARCHAR","VARCHAR"),
        DATE("DATE","DATE") ,
        BIGINT("BIGINT","BIGINT") ,;

        private final static Map<String, ToDatabaseTypeEnum> MAPPING = Arrays.stream(values())
                .collect(Collectors.toMap(ToDatabaseTypeEnum::getType, Function.identity()));

        final String type;
        final String value;

        ToDatabaseTypeEnum(String type, String value) {
            this.type = type;
            this.value = value;
        }

        public String getType() {
            return type;
        }

        public String getValue() {
            return value;
        }

        /**
         * 获取枚举是否存在,并返回
         *
         * @param type 类型
         * @return
         */
        public static ToDatabaseTypeEnum getEnum(String type) {
            return MAPPING.get(type);
        }
    }

    /**
     * 从数据库类型转Java类
     */
    enum ToEntityTypeEnum {

        TO_STRING("VARCHAR","String"),
        TO_LOCAL_DATE("DATE","LocalDate"),
        TO_LOCAL_DATE_TIME("TIMESTAMP","LocalDateTime"),
        TO_LONG("BIGINT","Long"),
        SMALLINT_TO_INTRGRT("SMALLINT","Integer"),
        TO_INTEGER("INTEGER","Integer"),
        ;

        private final static Map<String, ToEntityTypeEnum> MAPPING = Arrays.stream(values())
                .collect(Collectors.toMap(ToEntityTypeEnum::getType, Function.identity()));

        final String type;
        final String value;

        ToEntityTypeEnum(String type, String value) {
            this.type = type;
            this.value = value;
        }

        public String getType() {
            return type;
        }

        public String getValue() {
            return value;
        }

        /**
         * 获取枚举是否存在,并返回
         *
         * @param type 类型
         * @return
         */
        public static ToEntityTypeEnum getEnum(String type) {
            return MAPPING.get(type);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值