|
|
@ -13,27 +13,32 @@ import java.util.Map; |
|
|
|
public class TableCreateSqlUtil { |
|
|
|
|
|
|
|
public static final Map<String,String> MYSQL_DATA_MAP = new HashMap<>(); |
|
|
|
static { |
|
|
|
MYSQL_DATA_MAP.put("int","bigint"); |
|
|
|
MYSQL_DATA_MAP.put("string","varchar(300)"); |
|
|
|
MYSQL_DATA_MAP.put("date","date"); |
|
|
|
MYSQL_DATA_MAP.put("money","decimal(11, 2)"); |
|
|
|
MYSQL_DATA_MAP.put("datetime","datetime"); |
|
|
|
} |
|
|
|
|
|
|
|
public static final String COLUMN_NULL = " null "; |
|
|
|
public static final String COLUMN_NOT_NULL = " not null "; |
|
|
|
public static final String COLUMN_COMMENT = "COMMENT"; |
|
|
|
|
|
|
|
public static String createMysqlTableSql(String tableName, List<ExlColumnConf> columnList){ |
|
|
|
public static String createMysqlTableSql(String tableName,String tableRemark, List<ExlColumnConf> columnList){ |
|
|
|
StringBuffer result = new StringBuffer("CREATE TABLE `"+tableName+"` ("); |
|
|
|
result.append(" `union_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',"); |
|
|
|
result.append(" `union_row_id` varchar(255) NOT NULL AUTO_INCREMENT COMMENT 'union_row_id',"); |
|
|
|
for (ExlColumnConf column : columnList) { |
|
|
|
String columnType = column.getColumnType(); |
|
|
|
String columnType = MYSQL_DATA_MAP.get(column.getColumnType())==null?column.getColumnType():MYSQL_DATA_MAP.get(column.getColumnType()); |
|
|
|
String nullValue = column.getNotNullFlag().equals(1) ? COLUMN_NOT_NULL:COLUMN_NULL; |
|
|
|
if(columnType.equals("int")){ |
|
|
|
result.append("`"+column.getColumnName()+"` "+ |
|
|
|
MYSQL_DATA_MAP.get(columnType) + |
|
|
|
columnType + |
|
|
|
nullValue + |
|
|
|
COLUMN_COMMENT + " '"+ |
|
|
|
column.getColumnHeader()+"',"); |
|
|
|
} |
|
|
|
} |
|
|
|
result.append(" PRIMARY KEY (`union_id`) USING BTREE "); |
|
|
|
return result.append(")").toString(); |
|
|
|
result.append(" PRIMARY KEY (`union_row_id`) USING BTREE "); |
|
|
|
return result.append(") COMMENT = '"+tableRemark+"' ").toString(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|