From 1bc13e244599eae6ba8ce4d083dbcf822acc4810 Mon Sep 17 00:00:00 2001 From: liweifan <402001231@qq.com> Date: Mon, 26 Sep 2022 22:55:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=BE=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=98=A0=E5=B0=84java=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8DmTypeFormatter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gitee/gen/gen/JavaColumnDefinition.java | 8 +++++++- .../java/com/gitee/gen/gen/TableDefinition.java | 14 ++++++++++++++ .../com/gitee/gen/gen/dm/DmColumnSelector.java | 2 +- .../java/com/gitee/gen/gen/dm/DmTypeFormatter.java | 4 ++-- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/gen/src/main/java/com/gitee/gen/gen/JavaColumnDefinition.java b/gen/src/main/java/com/gitee/gen/gen/JavaColumnDefinition.java index 2851077..34803f3 100644 --- a/gen/src/main/java/com/gitee/gen/gen/JavaColumnDefinition.java +++ b/gen/src/main/java/com/gitee/gen/gen/JavaColumnDefinition.java @@ -3,6 +3,7 @@ package com.gitee.gen.gen; import com.gitee.gen.gen.converter.ColumnTypeConverter; import com.gitee.gen.gen.converter.JavaColumnTypeConverter; import com.gitee.gen.util.FieldUtil; +import org.springframework.util.StringUtils; import java.util.HashMap; import java.util.Map; @@ -15,6 +16,7 @@ public class JavaColumnDefinition extends ColumnDefinition { private static final JavaColumnTypeConverter COLUMN_TYPE_CONVERTER = new JavaColumnTypeConverter(); private static final Map TYPE_MYBATIS_MAP = new HashMap<>(64); + static { TYPE_MYBATIS_MAP.put(TypeEnum.BIT.getType(), "BOOLEAN"); TYPE_MYBATIS_MAP.put(TypeEnum.BOOLEAN.getType(), "BOOLEAN"); @@ -50,7 +52,11 @@ public class JavaColumnDefinition extends ColumnDefinition { */ public String getJavaFieldName() { String fieldName = FieldUtil.underlineFilter(getColumnName()); - return fieldName.replaceAll("_", ""); + if(StringUtils.isEmpty(fieldName)){ + return fieldName; + } + fieldName = fieldName.replaceAll("_", ""); + return fieldName.substring(0, 1).toLowerCase() + fieldName.substring(1); } /** diff --git a/gen/src/main/java/com/gitee/gen/gen/TableDefinition.java b/gen/src/main/java/com/gitee/gen/gen/TableDefinition.java index 87000af..6e600ad 100644 --- a/gen/src/main/java/com/gitee/gen/gen/TableDefinition.java +++ b/gen/src/main/java/com/gitee/gen/gen/TableDefinition.java @@ -109,6 +109,20 @@ public class TableDefinition { return false; } + /** + * 是否含有Long字段 + * + * @return + */ + public boolean getHasLongField() { + for (ColumnDefinition definition : columnDefinitions) { + if ("Long".equals(((JavaColumnDefinition) definition).getJavaType())) { + return true; + } + } + return false; + } + /** * 获取主键信息 * diff --git a/gen/src/main/java/com/gitee/gen/gen/dm/DmColumnSelector.java b/gen/src/main/java/com/gitee/gen/gen/dm/DmColumnSelector.java index fa67450..7f35e4b 100644 --- a/gen/src/main/java/com/gitee/gen/gen/dm/DmColumnSelector.java +++ b/gen/src/main/java/com/gitee/gen/gen/dm/DmColumnSelector.java @@ -17,7 +17,7 @@ import java.util.Set; */ public class DmColumnSelector extends ColumnSelector { - private static final TypeFormatter TYPE_FORMATTER = new OracleTypeFormatter(); + private static final TypeFormatter TYPE_FORMATTER = new DmTypeFormatter(); private static final String COLUMN_SQL = " SELECT " + " atc.COLUMN_NAME FIELD, atc.DATA_TYPE TYPE, atc.DATA_SCALE SCALE, atc.DATA_LENGTH MAXLENGTH, " + diff --git a/gen/src/main/java/com/gitee/gen/gen/dm/DmTypeFormatter.java b/gen/src/main/java/com/gitee/gen/gen/dm/DmTypeFormatter.java index e35163f..d70f1cd 100644 --- a/gen/src/main/java/com/gitee/gen/gen/dm/DmTypeFormatter.java +++ b/gen/src/main/java/com/gitee/gen/gen/dm/DmTypeFormatter.java @@ -32,12 +32,12 @@ public class DmTypeFormatter implements TypeFormatter { @Override public boolean isInt(String columnType) { - return contains(Arrays.asList("int", "integer"), columnType); + return !isLong(columnType) && contains(Arrays.asList("int", "integer"), columnType); } @Override public boolean isLong(String columnType) { - return !isVarchar(columnType) && contains(Collections.singletonList("long"), columnType); + return !isVarchar(columnType) && contains(Collections.singletonList("bigint"), columnType); } @Override -- Gitee