mirror of
https://github.com/moshowgame/SpringBootCodeGenerator.git
synced 2025-12-26 05:48:33 +08:00
优化oracle语法
This commit is contained in:
parent
19982259c4
commit
685b952c8f
@ -351,7 +351,10 @@ public class SqlParserServiceImpl implements SqlParserService {
|
|||||||
} else {
|
} else {
|
||||||
fieldName = columnName;
|
fieldName = columnName;
|
||||||
}
|
}
|
||||||
columnLine = columnLine.substring(columnLine.indexOf("`") + 1).trim();
|
// 修复Oracle字段名不带引号的情况
|
||||||
|
if (columnLine.contains("`")) {
|
||||||
|
columnLine = columnLine.substring(columnLine.indexOf("`") + 1).trim();
|
||||||
|
}
|
||||||
//2025-03-16 修复由于类型大写导致无法转换的问题
|
//2025-03-16 修复由于类型大写导致无法转换的问题
|
||||||
String mysqlType = columnLine.split("\\s+")[1].toLowerCase();
|
String mysqlType = columnLine.split("\\s+")[1].toLowerCase();
|
||||||
if(mysqlType.contains("(")){
|
if(mysqlType.contains("(")){
|
||||||
@ -400,6 +403,9 @@ public class SqlParserServiceImpl implements SqlParserService {
|
|||||||
commentTmp = commentTmp.substring(0, commentTmp.lastIndexOf(")") + 1);
|
commentTmp = commentTmp.substring(0, commentTmp.lastIndexOf(")") + 1);
|
||||||
}
|
}
|
||||||
fieldComment = commentTmp;
|
fieldComment = commentTmp;
|
||||||
|
} else if (columnLine.contains("--")) {
|
||||||
|
// 支持Oracle风格的注释(--)
|
||||||
|
fieldComment = columnLine.substring(columnLine.indexOf("--") + 2).trim();
|
||||||
} else {
|
} else {
|
||||||
//修复comment不存在导致报错的问题
|
//修复comment不存在导致报错的问题
|
||||||
fieldComment = columnName;
|
fieldComment = columnName;
|
||||||
|
|||||||
@ -27,6 +27,7 @@ public final class mysqlJavaTypeUtil {
|
|||||||
//字符串
|
//字符串
|
||||||
mysqlJavaTypeMap.put("char","String");
|
mysqlJavaTypeMap.put("char","String");
|
||||||
mysqlJavaTypeMap.put("varchar","String");
|
mysqlJavaTypeMap.put("varchar","String");
|
||||||
|
mysqlJavaTypeMap.put("varchar2","String"); // Oracle类型
|
||||||
mysqlJavaTypeMap.put("tinytext","String");
|
mysqlJavaTypeMap.put("tinytext","String");
|
||||||
mysqlJavaTypeMap.put("text","String");
|
mysqlJavaTypeMap.put("text","String");
|
||||||
mysqlJavaTypeMap.put("mediumtext","String");
|
mysqlJavaTypeMap.put("mediumtext","String");
|
||||||
@ -35,6 +36,8 @@ public final class mysqlJavaTypeUtil {
|
|||||||
mysqlJavaTypeMap.put("date","Date");
|
mysqlJavaTypeMap.put("date","Date");
|
||||||
mysqlJavaTypeMap.put("datetime","Date");
|
mysqlJavaTypeMap.put("datetime","Date");
|
||||||
mysqlJavaTypeMap.put("timestamp","Date");
|
mysqlJavaTypeMap.put("timestamp","Date");
|
||||||
|
// 数字类型 - Oracle增强
|
||||||
|
mysqlJavaTypeMap.put("number","BigDecimal"); // Oracle的NUMBER类型默认映射为BigDecimal,支持精度
|
||||||
|
|
||||||
|
|
||||||
mysqlSwaggerTypeMap.put("bigint","integer");
|
mysqlSwaggerTypeMap.put("bigint","integer");
|
||||||
@ -46,7 +49,10 @@ public final class mysqlJavaTypeUtil {
|
|||||||
mysqlSwaggerTypeMap.put("boolean","boolean");
|
mysqlSwaggerTypeMap.put("boolean","boolean");
|
||||||
mysqlSwaggerTypeMap.put("float","number");
|
mysqlSwaggerTypeMap.put("float","number");
|
||||||
mysqlSwaggerTypeMap.put("double","number");
|
mysqlSwaggerTypeMap.put("double","number");
|
||||||
mysqlSwaggerTypeMap.put("decimal","Double");
|
mysqlSwaggerTypeMap.put("decimal","number");
|
||||||
|
// Oracle类型
|
||||||
|
mysqlSwaggerTypeMap.put("varchar2","string");
|
||||||
|
mysqlSwaggerTypeMap.put("number","number");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HashMap<String, String> getMysqlJavaTypeMap() {
|
public static HashMap<String, String> getMysqlJavaTypeMap() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user