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