/** * Copyright (c) 2011-2016, hubin (jobob@qq.com). * <p> * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.baomidou.mybatisplus.generator.config.converts; import com.baomidou.mybatisplus.generator.config.ITypeConvert; import com.baomidou.mybatisplus.generator.config.rules.DbColumnType; /** * <p> * MYSQL 数据库字段类型转换 * </p> * * @author hubin * @date 2017-01-20 */ public class MySqlTypeConvert implements ITypeConvert { public DbColumnType processTypeConvert(String fieldType) { String t = fieldType.toLowerCase(); if (t.contains("char") || t.contains("text")) { return DbColumnType.STRING; } else if (t.contains("bigint")) { return DbColumnType.LONG; } else if (t.contains("int")) { return DbColumnType.INTEGER; } else if (t.contains("date") || t.contains("time") || t.contains("year")) { return DbColumnType.DATE; } else if (t.contains("text")) { return DbColumnType.STRING; } else if (t.contains("bit")) { return DbColumnType.BOOLEAN; } else if (t.contains("decimal")) { return DbColumnType.BIG_DECIMAL; } else if (t.contains("blob")) { return DbColumnType.BYTE_ARRAY; } else if (t.contains("float")) { return DbColumnType.FLOAT; } else if (t.contains("double")) { return DbColumnType.DOUBLE; } else if (t.contains("json") || t.contains("enum")) { return DbColumnType.STRING; } return DbColumnType.STRING; } }