diff --git a/README.md b/README.md index 18a733d..f38caa6 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,18 @@ ![image](https://img.shields.io/badge/CodeGenerator-%E2%98%85%E2%98%85%E2%98%85-green.svg) SpringBootCodeGenerator ---- -SpringBoot代码生成器。用于生成mybatis和jpa相关代码,基于xxl-codegenerator。 +基于SpringBoot2+xxl-codegenerator的代码生成器。用于生成mybatis和jpa相关代码,目前jpa的为主,mybatis的后续进行优化。 +

+感谢bejson三叔将他部署在http://java.bejson.com/generator上

- + - + + diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java index 43952de..e8d2814 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java +++ b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java @@ -29,7 +29,7 @@ public class TableParseUtil { if (tableSql==null || tableSql.trim().length()==0) { throw new CodeGenerateException("Table structure can not be empty."); } - tableSql = tableSql.trim(); + tableSql = tableSql.trim().replaceAll("'","`").replaceAll("\"","`").toLowerCase(); // table Name String tableName = null; @@ -43,6 +43,9 @@ public class TableParseUtil { if (tableName.contains("`")) { tableName = tableName.substring(tableName.indexOf("`")+1, tableName.lastIndexOf("`")); + }else{ + //空格开头的,需要替换掉\n\t空格 + tableName=tableName.replaceAll(" ","").replaceAll("\n","").replaceAll("\t",""); } // class Name @@ -91,13 +94,22 @@ public class TableParseUtil { String[] fieldLineList = fieldListTmp.split(","); if (fieldLineList.length > 0) { for (String columnLine :fieldLineList) { - columnLine = columnLine.trim(); // `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', - if (columnLine.startsWith("`")){ + columnLine = columnLine.replaceAll("\n","").replaceAll("\t","").trim(); // `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', + if (!columnLine.startsWith("CONSTRAINT")&&!columnLine.startsWith("USING") + &&!columnLine.startsWith("STORAGE")&&!columnLine.startsWith("PCTINCREASE") + &&!columnLine.startsWith("BUFFER_POOL")&&!columnLine.startsWith("TABLESPACE")){ // column Name - columnLine = columnLine.substring(1); // userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', - String columnName = columnLine.substring(0, columnLine.indexOf("`")); // userid - + columnLine = columnLine.substring(1); + //2018-9-16 zhengkai 支持'符号以及空格的oracle语句// userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', + String columnName = ""; + if(columnLine.indexOf("`")>-1) { + columnLine.substring(0, columnLine.indexOf("`")); + }else if(columnLine.indexOf("'")>-1){ + columnName = columnLine.substring(0, columnLine.indexOf("'")); + }else{ + columnName = columnLine.substring(0, columnLine.indexOf(" ")); + } // field Name String fieldName = StringUtils.lowerCaseFirst(StringUtils.underlineToCamelCase(columnName)); if (fieldName.contains("_")) {
访问路径 http://127.0.0.1:1234/generator
在线地址 http://java.bejson.com/generator
CSDN博客 http://blog.csdn.net/moshowgame
更新日期 更新内容
20180916补充char/clob/blob/json等类型,如果类型未知,默认为String。
20180916-2优化oracle支持,空格/"/'的支持,以及多余内容的剔除。
20180916-1补充char/clob/blob/json等类型,如果类型未知,默认为String。
20180915新增Swagger-UI模板。修复一些命名和导入问题。JPA的Entity默认第一个字段为Id,如果不是请手工修改。
20180913修复字段没有描述以及类型为DATE型导致的问题。新增JPA的Controller模板。
20180831初始化项目。新增JPA系列Entity+Repository模板。