mirror of
https://github.com/moshowgame/SpringBootCodeGenerator.git
synced 2025-12-26 05:48:33 +08:00
optimize sql type judgement,optimize primary key judgement,fix up the spell of repository on jpacontroller
This commit is contained in:
parent
901c84330e
commit
8a2d198e2b
11
README.md
11
README.md
@ -1,8 +1,12 @@
|
|||||||

|

|
||||||

|

|
||||||
|

|
||||||
|
[](https://travis-ci.org/moshowgame/SpringBootCodeGenerator)
|
||||||
|
<br>
|
||||||
|
|
||||||
SpringBootCodeGenerator
|
SpringBootCodeGenerator
|
||||||
----
|
----
|
||||||
基于SpringBoot2+xxl-codegenerator的代码生成器。用DDL语句生成JPA/JdbcTemplate/Mybatis相关代码,目前以JPA的为主,各大模板也在陆续优化。
|
基于SpringBoot2+Freemarker的代码生成器。用DDL语句生成JPA/JdbcTemplate/Mybatis相关代码,目前以JPA的为主,各大模板也在陆续优化。
|
||||||
<br><br>
|
<br><br>
|
||||||
感谢bejson三叔将他部署在http://java.bejson.com/generator上
|
感谢bejson三叔将他部署在http://java.bejson.com/generator上
|
||||||
<br><br>
|
<br><br>
|
||||||
@ -12,6 +16,7 @@ SpringBootCodeGenerator
|
|||||||
<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>20180918<td>优化SQL类型推断。优化PrimaryKey判断。修复jpacontroller中Repository拼写错误问题。</td></tr>
|
||||||
<tr><td>20180917<td>全新首页,静态文件全部采用CDN。新增jdbcTemplate模块。</td></tr>
|
<tr><td>20180917<td>全新首页,静态文件全部采用CDN。新增jdbcTemplate模块。</td></tr>
|
||||||
<tr><td>20180916-2<td>优化oracle支持,优化DDL语句中"或者'或者空格的支持。</td></tr>
|
<tr><td>20180916-2<td>优化oracle支持,优化DDL语句中"或者'或者空格的支持。</td></tr>
|
||||||
<tr><td>20180916-1<td>补充char/clob/blob/json等类型,如果类型未知,默认为String。</td></tr>
|
<tr><td>20180916-1<td>补充char/clob/blob/json等类型,如果类型未知,默认为String。</td></tr>
|
||||||
|
|||||||
@ -102,12 +102,16 @@ public class TableParseUtil {
|
|||||||
|
|
||||||
String[] fieldLineList = fieldListTmp.split(",");
|
String[] fieldLineList = fieldListTmp.split(",");
|
||||||
if (fieldLineList.length > 0) {
|
if (fieldLineList.length > 0) {
|
||||||
|
int i=0;//i为了解决primary key关键字出现的地方,出现在前3行,一般和id有关
|
||||||
for (String columnLine :fieldLineList) {
|
for (String columnLine :fieldLineList) {
|
||||||
columnLine = columnLine.replaceAll("\n","").replaceAll("\t","").trim(); // `userid` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
i++;
|
||||||
|
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("storage")&&!columnLine.contains("pctincrease")
|
&&!columnLine.contains("storage")&&!columnLine.contains("pctincrease")
|
||||||
&&!columnLine.contains("buffer_pool")&&!columnLine.contains("tablespace")
|
&&!columnLine.contains("buffer_pool")&&!columnLine.contains("tablespace")
|
||||||
&&!columnLine.contains("primary")){
|
&&!(columnLine.contains("primary")&&i>3)){
|
||||||
|
|
||||||
//如果是oracle的number(x,x),可能出现最后分割残留的,x),这里做排除处理
|
//如果是oracle的number(x,x),可能出现最后分割残留的,x),这里做排除处理
|
||||||
if(columnLine.length()<5) continue;
|
if(columnLine.length()<5) continue;
|
||||||
@ -127,20 +131,20 @@ public class TableParseUtil {
|
|||||||
columnLine = columnLine.substring(columnLine.indexOf("`")+1).trim(); // int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
columnLine = columnLine.substring(columnLine.indexOf("`")+1).trim(); // int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
||||||
String fieldClass = Object.class.getSimpleName();
|
String fieldClass = Object.class.getSimpleName();
|
||||||
//2018-9-16 zhengk 补充char/clob/blob/json等类型,如果类型未知,默认为String
|
//2018-9-16 zhengk 补充char/clob/blob/json等类型,如果类型未知,默认为String
|
||||||
if (columnLine.startsWith("int") || columnLine.startsWith("tinyint") || columnLine.startsWith("smallint")) {
|
if (columnLine.contains("int") || columnLine.contains("tinyint") || columnLine.contains("smallint")) {
|
||||||
fieldClass = Integer.TYPE.getSimpleName();
|
fieldClass = Integer.TYPE.getSimpleName();
|
||||||
} else if (columnLine.startsWith("bigint")) {
|
} else if (columnLine.contains("bigint")) {
|
||||||
fieldClass = Long.TYPE.getSimpleName();
|
fieldClass = Long.TYPE.getSimpleName();
|
||||||
} else if (columnLine.startsWith("float")) {
|
} else if (columnLine.contains("float")) {
|
||||||
fieldClass = Float.TYPE.getSimpleName();
|
fieldClass = Float.TYPE.getSimpleName();
|
||||||
} else if (columnLine.startsWith("double")) {
|
} else if (columnLine.contains("double")) {
|
||||||
fieldClass = Double.TYPE.getSimpleName();
|
fieldClass = Double.TYPE.getSimpleName();
|
||||||
} else if (columnLine.startsWith("datetime") || columnLine.startsWith("timestamp")) {
|
} else if (columnLine.contains("datetime") || columnLine.contains("timestamp")) {
|
||||||
fieldClass = Date.class.getSimpleName();
|
fieldClass = Date.class.getSimpleName();
|
||||||
} else if (columnLine.startsWith("varchar") || columnLine.startsWith("text")|| columnLine.startsWith("char")
|
} else if (columnLine.contains("varchar") || columnLine.contains("text")|| columnLine.contains("char")
|
||||||
|| columnLine.startsWith("clob")||columnLine.startsWith("blob")||columnLine.startsWith("json")) {
|
|| columnLine.contains("clob")||columnLine.contains("blob")||columnLine.contains("json")) {
|
||||||
fieldClass = String.class.getSimpleName();
|
fieldClass = String.class.getSimpleName();
|
||||||
} else if (columnLine.startsWith("decimal")||columnLine.startsWith("number")) {
|
} else if (columnLine.contains("decimal")||columnLine.contains("number")) {
|
||||||
fieldClass = BigDecimal.class.getSimpleName();
|
fieldClass = BigDecimal.class.getSimpleName();
|
||||||
} else {
|
} else {
|
||||||
fieldClass = String.class.getSimpleName();
|
fieldClass = String.class.getSimpleName();
|
||||||
|
|||||||
@ -19,14 +19,14 @@ import java.util.Map;
|
|||||||
public class ${classInfo.className}Controller {
|
public class ${classInfo.className}Controller {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ${classInfo.className}Respository ${classInfo.className?uncap_first}Respository;
|
private ${classInfo.className}Repository ${classInfo.className?uncap_first}Repository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增或编辑
|
* 新增或编辑
|
||||||
*/
|
*/
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
public Object save(${classInfo.className} ${classInfo.className?uncap_first}){
|
public Object save(${classInfo.className} ${classInfo.className?uncap_first}){
|
||||||
return ${classInfo.className?uncap_first}Respository.save(${classInfo.className?uncap_first});
|
return ${classInfo.className?uncap_first}Repository.save(${classInfo.className?uncap_first});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,9 +34,9 @@ public class ${classInfo.className}Controller {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/delete")
|
@GetMapping("/delete")
|
||||||
public Object delete(int id){
|
public Object delete(int id){
|
||||||
Optional<${classInfo.className}> ${classInfo.className?uncap_first}=${classInfo.className?uncap_first}Respository.findById(id);
|
Optional<${classInfo.className}> ${classInfo.className?uncap_first}=${classInfo.className?uncap_first}Repository.findById(id);
|
||||||
if(${classInfo.className?uncap_first}.isPresent()){
|
if(${classInfo.className?uncap_first}.isPresent()){
|
||||||
${classInfo.className?uncap_first}Respository.deleteById(id);
|
${classInfo.className?uncap_first}Repository.deleteById(id);
|
||||||
return ApiReturnUtil.success("删除成功");
|
return ApiReturnUtil.success("删除成功");
|
||||||
}else{
|
}else{
|
||||||
return ApiReturnUtil.error("没有找到该对象");
|
return ApiReturnUtil.error("没有找到该对象");
|
||||||
@ -48,7 +48,7 @@ public class ${classInfo.className}Controller {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/find")
|
@GetMapping("/find")
|
||||||
public Object load(int id){
|
public Object load(int id){
|
||||||
Optional<${classInfo.className}> ${classInfo.className?uncap_first}=${classInfo.className?uncap_first}Respository.findById(id);
|
Optional<${classInfo.className}> ${classInfo.className?uncap_first}=${classInfo.className?uncap_first}Repository.findById(id);
|
||||||
if(${classInfo.className?uncap_first}.isPresent()){
|
if(${classInfo.className?uncap_first}.isPresent()){
|
||||||
return ApiReturnUtil.success(${classInfo.className?uncap_first}.get());
|
return ApiReturnUtil.success(${classInfo.className?uncap_first}.get());
|
||||||
}else{
|
}else{
|
||||||
@ -72,7 +72,7 @@ public class ${classInfo.className}Controller {
|
|||||||
//分页构造
|
//分页构造
|
||||||
Pageable pageable = PageRequest.of(pageNumber,pageSize);
|
Pageable pageable = PageRequest.of(pageNumber,pageSize);
|
||||||
|
|
||||||
return ${classInfo.className?uncap_first}Respository.findAll(example, pageable);
|
return ${classInfo.className?uncap_first}Repository.findAll(example, pageable);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user