🎉 init-代码生成器
This commit is contained in:
parent
43107a07e4
commit
12f8055bd2
|
@ -31,6 +31,8 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||||
private final IMetadataProvider databaseMetadataProvider;
|
private final IMetadataProvider databaseMetadataProvider;
|
||||||
private final IMetadataProvider sqlMetadataProvider;
|
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()
|
return dto.getTableNames().parallelStream()
|
||||||
.flatMap(tableName -> {
|
.flatMap(tableName -> {
|
||||||
TableMetaData tableMeta = databaseMetadataProvider.getTableMetadata(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);
|
return getGeneratorStream(dto, tableMeta, columns);
|
||||||
})
|
})
|
||||||
.collect(Collectors.groupingBy(GeneratorVo::getTableName));
|
.collect(Collectors.groupingBy(GeneratorVo::getTableName));
|
||||||
|
@ -59,7 +68,13 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||||
// 根据Sql语句进行分析表的属性和表列字段
|
// 根据Sql语句进行分析表的属性和表列字段
|
||||||
String sql = dto.getSql();
|
String sql = dto.getSql();
|
||||||
TableMetaData tableMeta = sqlMetadataProvider.getTableMetadata(sql);
|
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();
|
List<GeneratorVo> generatorVoList = getGeneratorStream(dto, tableMeta, columns).toList();
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package ${package}.domain.entity;
|
package ${package}.domain.entity;
|
||||||
|
|
||||||
|
import com.auth.common.model.common.BaseEntity;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
|
Loading…
Reference in New Issue