diff --git a/README.md b/README.md index 05aa373..b0938c3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ SpringBootCodeGenerator ---- 基于SpringBoot2+Freemarker的代码生成器,用DDL SQL语句生成JPA/JdbcTemplate/Mybatis/BeetlSQL相关代码,支持mysql/oracle/pgsql三大数据库。目前以JPA的为主,各大模板也在陆续优化。欢迎大家提交模板和交流想法!

-另外,感谢bejson三叔将他部署在http://java.bejson.com/generator上 +另外,感谢bejson三叔将他部署在http://java.bejson.com/generator上,成为besjon专供工具。

@@ -16,7 +16,8 @@ SpringBootCodeGenerator - + + diff --git a/codegenerator1.png b/codegenerator1.png deleted file mode 100644 index 3860835..0000000 Binary files a/codegenerator1.png and /dev/null differ diff --git a/codegenerator2.png b/codegenerator2.png deleted file mode 100644 index b6a32e2..0000000 Binary files a/codegenerator2.png and /dev/null differ 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 e106520..6e9864d 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 @@ -93,7 +93,8 @@ public class TableParseUtil { //修复表备注为空问题 classComment = tableName; } - + //如果备注跟;混在一起,需要替换掉 + classComment=classComment.replaceAll(";",""); // field List List fieldList = new ArrayList(); @@ -101,11 +102,12 @@ public class TableParseUtil { String fieldListTmp = tableSql.substring(tableSql.indexOf("(")+1, tableSql.lastIndexOf(")")); // 匹配 comment,替换备注里的小逗号, 防止不小心被当成切割符号切割 - Matcher matcher = Pattern.compile("\\ comment '(.*?)\\'").matcher(fieldListTmp); // "\\{(.*?)\\}" + Matcher matcher = Pattern.compile("\\ comment `(.*?)\\`").matcher(fieldListTmp); // "\\{(.*?)\\}" while(matcher.find()){ String commentTmp = matcher.group(); - commentTmp = commentTmp.replaceAll("\\ comment '|\\'", ""); // "\\{|\\}" + //2018-9-27 zhengk 不替换,只处理,支持COMMENT评论里面多种注释 + //commentTmp = commentTmp.replaceAll("\\ comment `|\\`", " "); // "\\{|\\}" if (commentTmp.contains(",")) { String commentTmpFinal = commentTmp.replaceAll(",", ","); @@ -122,7 +124,7 @@ public class TableParseUtil { columnLine = columnLine.replaceAll("\n","").replaceAll("\t","").trim(); // `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', // 2018-9-18 zhengk 修改为contains,提升匹配率和匹配不按照规矩出牌的语句 - if (!columnLine.contains("constraint")&&!columnLine.contains("using") + if (!columnLine.contains("constraint")&&!columnLine.contains("using")&&!columnLine.contains("unique") &&!columnLine.contains("storage")&&!columnLine.contains("pctincrease") &&!columnLine.contains("buffer_pool")&&!columnLine.contains("tablespace") &&!(columnLine.contains("primary")&&i>3)){ @@ -171,6 +173,10 @@ public class TableParseUtil { if (commentTmp.contains("`") || commentTmp.indexOf("`")!=commentTmp.lastIndexOf("`")) { commentTmp = commentTmp.substring(commentTmp.indexOf("`")+1, commentTmp.lastIndexOf("`")); } + //解决最后一句是评论,无主键且连着)的问题:album_id int(3) default '1' null comment '相册id:0 代表头像 1代表照片墙') + if(commentTmp.contains(")")){ + commentTmp = commentTmp.substring(0, commentTmp.lastIndexOf(")")); + } fieldComment = commentTmp; }else if(tableSql.contains("comment on column")&&tableSql.contains("."+columnName+" is `")){ //新增对pgsql/oracle的字段备注支持
访问路径 http://127.0.0.1:1234/generator
CSDN博客 http://blog.csdn.net/moshowgame
更新日期 更新内容
20180926全新BeetlSQL模块,以及一些小细节优化。
20180927优化COMMENT提取逻辑,支持多种复杂情况的注释(感谢@raodeming的反馈)。
20180926全新BeetlSQL模块,以及一些小细节优化(感谢@三叔同事的建议)。
20180925优化SQL表和字段备注的推断,包括pgsql/oralce的comment on column/table情况处理等。
20180918优化SQL类型推断。优化PrimaryKey判断。修复jpacontroller中Repository拼写错误问题。
20180917全新首页,静态文件全部采用CDN。新增jdbcTemplate模块。