mirror of
https://github.com/moshowgame/SpringBootCodeGenerator.git
synced 2025-12-26 13:52:39 +08:00
support more issue like blank/'/" as split-character
This commit is contained in:
parent
6b566ca9c2
commit
42c1f04789
@ -2,15 +2,18 @@
|
|||||||

|

|
||||||
SpringBootCodeGenerator
|
SpringBootCodeGenerator
|
||||||
----
|
----
|
||||||
SpringBoot代码生成器。用于生成mybatis和jpa相关代码,基于xxl-codegenerator。
|
基于SpringBoot2+xxl-codegenerator的代码生成器。用于生成mybatis和jpa相关代码,目前jpa的为主,mybatis的后续进行优化。
|
||||||
|
<br><br>
|
||||||
|
感谢bejson三叔将他部署在http://java.bejson.com/generator上
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<table><tbody>
|
<table><tbody>
|
||||||
<tr><td>访问路径</td> <td>http://127.0.0.1:1234/generator</td></tr>
|
<tr><td>访问路径</td> <td>http://127.0.0.1:1234/generator</td></tr>
|
||||||
|
<tr><td>在线地址</td> <td>http://java.bejson.com/generator</td></tr>
|
||||||
<tr><td>CSDN博客</td> <td>http://blog.csdn.net/moshowgame</td></tr>
|
<tr><td>CSDN博客</td> <td>http://blog.csdn.net/moshowgame</td></tr>
|
||||||
<tr><td></td> <td></td></tr>
|
<tr><td></td> <td></td></tr>
|
||||||
<tr><td>更新日期</td> <td>更新内容</td></tr>
|
<tr><td>更新日期</td> <td>更新内容</td></tr>
|
||||||
<tr><td>20180916<td>补充char/clob/blob/json等类型,如果类型未知,默认为String。</td></tr>
|
<tr><td>20180916-2<td>优化oracle支持,空格/"/'的支持,以及多余内容的剔除。</td></tr>
|
||||||
|
<tr><td>20180916-1<td>补充char/clob/blob/json等类型,如果类型未知,默认为String。</td></tr>
|
||||||
<tr><td>20180915<td>新增Swagger-UI模板。修复一些命名和导入问题。JPA的Entity默认第一个字段为Id,如果不是请手工修改。</td></tr>
|
<tr><td>20180915<td>新增Swagger-UI模板。修复一些命名和导入问题。JPA的Entity默认第一个字段为Id,如果不是请手工修改。</td></tr>
|
||||||
<tr><td>20180913<td>修复字段没有描述以及类型为DATE型导致的问题。新增JPA的Controller模板。</td></tr>
|
<tr><td>20180913<td>修复字段没有描述以及类型为DATE型导致的问题。新增JPA的Controller模板。</td></tr>
|
||||||
<tr><td>20180831<td>初始化项目。新增JPA系列Entity+Repository模板。</td></tr>
|
<tr><td>20180831<td>初始化项目。新增JPA系列Entity+Repository模板。</td></tr>
|
||||||
|
|||||||
@ -29,7 +29,7 @@ public class TableParseUtil {
|
|||||||
if (tableSql==null || tableSql.trim().length()==0) {
|
if (tableSql==null || tableSql.trim().length()==0) {
|
||||||
throw new CodeGenerateException("Table structure can not be empty.");
|
throw new CodeGenerateException("Table structure can not be empty.");
|
||||||
}
|
}
|
||||||
tableSql = tableSql.trim();
|
tableSql = tableSql.trim().replaceAll("'","`").replaceAll("\"","`").toLowerCase();
|
||||||
|
|
||||||
// table Name
|
// table Name
|
||||||
String tableName = null;
|
String tableName = null;
|
||||||
@ -43,6 +43,9 @@ public class TableParseUtil {
|
|||||||
|
|
||||||
if (tableName.contains("`")) {
|
if (tableName.contains("`")) {
|
||||||
tableName = tableName.substring(tableName.indexOf("`")+1, tableName.lastIndexOf("`"));
|
tableName = tableName.substring(tableName.indexOf("`")+1, tableName.lastIndexOf("`"));
|
||||||
|
}else{
|
||||||
|
//空格开头的,需要替换掉\n\t空格
|
||||||
|
tableName=tableName.replaceAll(" ","").replaceAll("\n","").replaceAll("\t","");
|
||||||
}
|
}
|
||||||
|
|
||||||
// class Name
|
// class Name
|
||||||
@ -91,13 +94,22 @@ public class TableParseUtil {
|
|||||||
String[] fieldLineList = fieldListTmp.split(",");
|
String[] fieldLineList = fieldListTmp.split(",");
|
||||||
if (fieldLineList.length > 0) {
|
if (fieldLineList.length > 0) {
|
||||||
for (String columnLine :fieldLineList) {
|
for (String columnLine :fieldLineList) {
|
||||||
columnLine = columnLine.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("`")){
|
if (!columnLine.startsWith("CONSTRAINT")&&!columnLine.startsWith("USING")
|
||||||
|
&&!columnLine.startsWith("STORAGE")&&!columnLine.startsWith("PCTINCREASE")
|
||||||
|
&&!columnLine.startsWith("BUFFER_POOL")&&!columnLine.startsWith("TABLESPACE")){
|
||||||
|
|
||||||
// column Name
|
// column Name
|
||||||
columnLine = columnLine.substring(1); // userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
columnLine = columnLine.substring(1);
|
||||||
String columnName = columnLine.substring(0, columnLine.indexOf("`")); // userid
|
//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
|
// field Name
|
||||||
String fieldName = StringUtils.lowerCaseFirst(StringUtils.underlineToCamelCase(columnName));
|
String fieldName = StringUtils.lowerCaseFirst(StringUtils.underlineToCamelCase(columnName));
|
||||||
if (fieldName.contains("_")) {
|
if (fieldName.contains("_")) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user