package org.yeshi.utils.mybatis; import java.lang.annotation.Annotation; import java.lang.reflect.Field; public class ColumnParseUtil { public static void parseColumn(Class clz, String path) { Field[] fields = clz.getDeclaredFields(); for (Field fd : fields) { Annotation[] as = fd.getAnnotations(); for (Annotation a : as) { if (a instanceof Column) { Column c = (Column) a; System.out.println(c.name()); ColumnUtil.addColumnToMapper(path, c.name(), fd.getName(), getJDBCType(fd.getType().getName())); } } } } public static String getJDBCType(String type) { if (type.endsWith("java.lang.Long")) { return "BIGINT"; } else if (type.endsWith("java.lang.Integer")) { return "INTEGER"; } else if (type.endsWith("java.lang.String")) { return "VARCHAR"; } else if (type.endsWith("java.lang.Boolean")) { return "BOOLEAN"; } else if (type.endsWith("java.math.BigDecimal")) { return "DECIMAL"; } else if (type.endsWith("java.util.Date")) { return "TIMESTAMP"; } else if (type.endsWith("java.lang.Double")) { return "DOUBLE"; } else { return "VARCHAR"; } } }