From 1e09236868549134652ae77ddbe9649467670f32 Mon Sep 17 00:00:00 2001 From: lengleng Date: Tue, 22 Dec 2020 23:53:52 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20Introducing=20new=20features.=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E7=BB=86=E8=8A=82=E5=AE=8C?= =?UTF-8?q?=E5=96=84=EF=BC=8C=E6=B3=A8=E9=87=8A=E6=8D=A2=E8=A1=8C=E7=AC=A6?= =?UTF-8?q?=E5=8F=B7=E5=8E=BB=E9=99=A4=EF=BC=8C=20=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=8E=BB=E9=99=A4=E6=8B=AC=E5=8F=B7=E5=90=8E?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/config/JdbcDynamicDataSourceProvider.java | 2 +- .../common/datasource/support/DataSourceConstants.java | 7 ++++++- .../codegen/service/impl/GenTableColumnServiceImpl.java | 5 ++++- .../java/com/pig4cloud/pigx/codegen/util/GenUtils.java | 6 ++++-- .../src/main/resources/mapper/GeneratorOracleMapper.xml | 2 +- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java index 958a9f0f8..dffa23150 100644 --- a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java +++ b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/config/JdbcDynamicDataSourceProvider.java @@ -60,7 +60,7 @@ public class JdbcDynamicDataSourceProvider extends AbstractJdbcDataSourceProvide Map map = new HashMap<>(8); while (rs.next()) { - String name = rs.getString(DataSourceConstants.DS_NAME); + String name = rs.getString(DataSourceConstants.NAME); String username = rs.getString(DataSourceConstants.DS_USER_NAME); String password = rs.getString(DataSourceConstants.DS_USER_PWD); Integer confType = rs.getInt(DataSourceConstants.DS_CONFIG_TYPE); diff --git a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/support/DataSourceConstants.java b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/support/DataSourceConstants.java index 8f2a96d40..5c0626708 100644 --- a/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/support/DataSourceConstants.java +++ b/pigx-common/pigx-common-datasource/src/main/java/com/pig4cloud/pigx/common/datasource/support/DataSourceConstants.java @@ -11,7 +11,7 @@ public interface DataSourceConstants { /** * 数据源名称 */ - String DS_NAME = "name"; + String NAME = "name"; /** * 默认数据源(master) @@ -43,6 +43,11 @@ public interface DataSourceConstants { */ String DS_TYPE = "ds_type"; + /** + * 数据库名称 + */ + String DS_NAME = "ds_name"; + /** * 主机类型 */ diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableColumnServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableColumnServiceImpl.java index b4ba6c100..5b2c302e0 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableColumnServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenTableColumnServiceImpl.java @@ -1,5 +1,6 @@ package com.pig4cloud.pigx.codegen.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pig4cloud.pigx.codegen.entity.ColumnEntity; @@ -31,7 +32,9 @@ public class GenTableColumnServiceImpl implements GenTableColumnService { // 处理 数据库类型和 Java 类型关系 Configuration config = GenUtils.getConfig(); columnPage.getRecords().forEach(column -> { - String attrType = config.getString(column.getDataType(), "unknowType"); + // 只保留 ()之前部分,例如 timestamp(6) -> timestamp + String dataType = StrUtil.subBefore(column.getDataType(), "(", false); + String attrType = config.getString(dataType, "unknowType"); column.setLowerAttrName(StringUtils.uncapitalize(GenUtils.columnToJava(column.getColumnName()))); column.setJavaType(attrType); }); diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/util/GenUtils.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/util/GenUtils.java index 0eca90c31..0ed4cd975 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/util/GenUtils.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/util/GenUtils.java @@ -175,14 +175,16 @@ public class GenUtils { // 判断注释是否为空 if (StrUtil.isNotBlank(column.get("comments"))) { - columnEntity.setComments(column.get("comments")); + // 注意去除换行符号 + columnEntity.setComments(StrUtil.removeAllLineBreaks(column.get("comments"))); } else { columnEntity.setComments(columnEntity.getLowerAttrName()); } // 列的数据类型,转换成Java类型 - String attrType = config.getString(columnEntity.getDataType(), "unknowType"); + String dataType = StrUtil.subBefore(columnEntity.getDataType(), "(", false); + String attrType = config.getString(dataType, "unknowType"); columnEntity.setAttrType(attrType); if (!hasBigDecimal && "BigDecimal".equals(attrType)) { hasBigDecimal = true; diff --git a/pigx-visual/pigx-codegen/src/main/resources/mapper/GeneratorOracleMapper.xml b/pigx-visual/pigx-codegen/src/main/resources/mapper/GeneratorOracleMapper.xml index 6a99dac34..180dc2525 100755 --- a/pigx-visual/pigx-codegen/src/main/resources/mapper/GeneratorOracleMapper.xml +++ b/pigx-visual/pigx-codegen/src/main/resources/mapper/GeneratorOracleMapper.xml @@ -24,7 +24,7 @@ TEMP.COLUMN_NAME AS "columnName", TEMP.data_type AS "columnType", TEMP.data_type AS "dataType", - TEMP.comments AS comments, + TEMP.comments AS "comments", CASE TEMP.constraint_type WHEN 'P' THEN