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";
|
}
|
}
|
|
}
|