🎉 init-代码生成器

This commit is contained in:
bunny 2025-07-17 22:30:19 +08:00
parent 43107a07e4
commit 12f8055bd2
2 changed files with 25 additions and 9 deletions

View File

@ -31,6 +31,8 @@ public class GeneratorServiceImpl implements GeneratorService {
private final IMetadataProvider databaseMetadataProvider;
private final IMetadataProvider sqlMetadataProvider;
private final List<String> ignoreField = List.of("id", "update_time", "create_time", "create_user", "update_user");
/**
* 代码生成方法---数据库生成
*
@ -42,7 +44,14 @@ public class GeneratorServiceImpl implements GeneratorService {
return dto.getTableNames().parallelStream()
.flatMap(tableName -> {
TableMetaData tableMeta = databaseMetadataProvider.getTableMetadata(tableName);
List<ColumnMetaData> columns = databaseMetadataProvider.getColumnInfoList(tableName);
// 排除不需要的字段
List<ColumnMetaData> columns = databaseMetadataProvider.getColumnInfoList(tableName).stream()
.filter(columnMetaData -> {
String columnName = columnMetaData.getColumnName();
return !ignoreField.contains(columnName);
})
.toList();
return getGeneratorStream(dto, tableMeta, columns);
})
.collect(Collectors.groupingBy(GeneratorVo::getTableName));
@ -59,7 +68,13 @@ public class GeneratorServiceImpl implements GeneratorService {
// 根据Sql语句进行分析表的属性和表列字段
String sql = dto.getSql();
TableMetaData tableMeta = sqlMetadataProvider.getTableMetadata(sql);
List<ColumnMetaData> columns = sqlMetadataProvider.getColumnInfoList(sql);
List<ColumnMetaData> columns = sqlMetadataProvider.getColumnInfoList(sql).stream()
.filter(columnMetaData -> {
String columnName = columnMetaData.getColumnName();
return !ignoreField.contains(columnName);
})
.toList();
// 生成代码
List<GeneratorVo> generatorVoList = getGeneratorStream(dto, tableMeta, columns).toList();

View File

@ -1,5 +1,6 @@
package ${package}.domain.entity;
import com.auth.common.model.common.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;