diff --git a/README.md b/README.md
index 18a733d..f38caa6 100644
--- a/README.md
+++ b/README.md
@@ -2,15 +2,18 @@

SpringBootCodeGenerator
----
-SpringBoot代码生成器。用于生成mybatis和jpa相关代码,基于xxl-codegenerator。
+基于SpringBoot2+xxl-codegenerator的代码生成器。用于生成mybatis和jpa相关代码,目前jpa的为主,mybatis的后续进行优化。
+
+感谢bejson三叔将他部署在http://java.bejson.com/generator上
-
| 访问路径 | 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模板。 |
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("_")) {