diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/ColumnConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/ColumnConfig.java index 04579aae..7be95683 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/ColumnConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/ColumnConfig.java @@ -60,6 +60,10 @@ public class ColumnConfig implements Serializable { * 配置的 jdbcType。 */ private JdbcType jdbcType; + /** + * 属性的类型。 + */ + private Class propertyType; /** * 自定义 TypeHandler。 @@ -207,5 +211,11 @@ public class ColumnConfig implements Serializable { public void setTenantId(Boolean tenantId) { this.tenantId = tenantId; } + public Class getPropertyType() { + return propertyType; + } + public void setPropertyType(Class propertyType) { + this.propertyType = propertyType; + } } diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/StrategyConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/StrategyConfig.java index 6c86b8f0..105343f8 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/StrategyConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/StrategyConfig.java @@ -76,6 +76,31 @@ public class StrategyConfig { */ private Set unGenerateTables; + /** + * 需要忽略的列 全局配置。 + */ + private Set ignoreColumns; + + /** + * 获取需要忽略的列 全局配置。 + */ + public Set getIgnoreColumns() { + return ignoreColumns; + } + /** + * 设置需要忽略的列 全局配置。 + */ + public StrategyConfig setIgnoreColumns(String... columns) { + if (ignoreColumns == null) { + ignoreColumns = new HashSet<>(); + } + for (String column : columns) { + if (column != null && column.trim().length() > 0) { + ignoreColumns.add(column.trim().toLowerCase()); + } + } + return this; + } /** * 设置要生成的模式 @@ -348,4 +373,4 @@ public class StrategyConfig { return this; } -} \ No newline at end of file +} diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Column.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Column.java index 4f2c9cd1..d1efb73f 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Column.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Column.java @@ -93,7 +93,12 @@ public class Column { } public String getPropertySimpleType() { - return propertyType.substring(propertyType.lastIndexOf(".") + 1); + if (columnConfig.getPropertyType()!=null){ + return columnConfig.getPropertyType().getSimpleName(); + } + else { + return propertyType.substring(propertyType.lastIndexOf(".") + 1); + } } public void setPropertyType(String propertyType) { @@ -291,6 +296,9 @@ public class Column { } if (columnConfig != null) { + if (columnConfig.getPropertyType() !=null){ + importClasses.add(columnConfig.getPropertyType().getName()); + } if (columnConfig.getMask() != null) { importClasses.add(ColumnMask.class.getName()); } diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java index af81310d..d8837f0c 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java @@ -131,6 +131,12 @@ public class Table { public void addColumn(Column column) { + //排除忽略列 + if (globalConfig.getStrategyConfig().getIgnoreColumns() != null && + globalConfig.getStrategyConfig().getIgnoreColumns().contains(column.getName().toLowerCase())) { + return; + } + //主键 if (primaryKeys != null && primaryKeys.contains(column.getName())) { column.setPrimaryKey(true);