optimization for oracle DDL

This commit is contained in:
moshowgame@126.com
2018-09-16 13:37:14 +08:00
parent 42c1f04789
commit 23c3adba88
2 changed files with 11 additions and 5 deletions

View File

@@ -24,7 +24,7 @@ public class StringUtils {
* @return * @return
*/ */
public static String lowerCaseFirst(String str) { public static String lowerCaseFirst(String str) {
return str.substring(0, 1).toLowerCase() + str.substring(1); return (str!=null&str.length()>1)?str.substring(0, 1).toLowerCase() + str.substring(1):"";
} }
/** /**

View File

@@ -47,7 +47,10 @@ public class TableParseUtil {
//空格开头的,需要替换掉\n\t空格 //空格开头的,需要替换掉\n\t空格
tableName=tableName.replaceAll(" ","").replaceAll("\n","").replaceAll("\t",""); tableName=tableName.replaceAll(" ","").replaceAll("\n","").replaceAll("\t","");
} }
//优化对byeas`.`ct_bd_customerdiscount这种命名的支持
if(tableName.contains("`.`")){
tableName=tableName.substring(tableName.indexOf("`.`")+3);
}
// class Name // class Name
String className = StringUtils.upperCaseFirst(StringUtils.underlineToCamelCase(tableName)); String className = StringUtils.upperCaseFirst(StringUtils.underlineToCamelCase(tableName));
if (className.contains("_")) { if (className.contains("_")) {
@@ -95,12 +98,15 @@ public class TableParseUtil {
if (fieldLineList.length > 0) { if (fieldLineList.length > 0) {
for (String columnLine :fieldLineList) { for (String columnLine :fieldLineList) {
columnLine = columnLine.replaceAll("\n","").replaceAll("\t","").trim(); // `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', columnLine = columnLine.replaceAll("\n","").replaceAll("\t","").trim(); // `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
if (!columnLine.startsWith("CONSTRAINT")&&!columnLine.startsWith("USING") if (!columnLine.contains("constraint")&&!columnLine.contains("using")
&&!columnLine.startsWith("STORAGE")&&!columnLine.startsWith("PCTINCREASE") &&!columnLine.contains("storage")&&!columnLine.contains("pctincrease")
&&!columnLine.startsWith("BUFFER_POOL")&&!columnLine.startsWith("TABLESPACE")){ &&!columnLine.contains("buffer_pool")&&!columnLine.contains("tablespace")
&&!columnLine.contains("primary")){
// column Name // column Name
columnLine = columnLine.substring(1); columnLine = columnLine.substring(1);
//如果是oracle的number(x,x),可能出现最后分割残留的,x),这里做排除处理
if(columnLine.length()<5) continue;
//2018-9-16 zhengkai 支持'符号以及空格的oracle语句// userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', //2018-9-16 zhengkai 支持'符号以及空格的oracle语句// userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
String columnName = ""; String columnName = "";
if(columnLine.indexOf("`")>-1) { if(columnLine.indexOf("`")>-1) {