generator-code-server/src/main/java/cn/bunny/service/impl/TableServiceImpl.java

44 lines
1.5 KiB
Java
Raw Normal View History

2025-06-28 22:10:25 +08:00
package cn.bunny.service.impl;
import cn.bunny.core.provider.DatabaseMetadataProvider;
2025-06-28 22:10:25 +08:00
import cn.bunny.domain.entity.DatabaseInfoMetaData;
import cn.bunny.domain.entity.TableMetaData;
import cn.bunny.service.TableService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class TableServiceImpl implements TableService {
private final DatabaseMetadataProvider databaseMetadataProvider;
2025-06-28 22:10:25 +08:00
/**
* 数据库所有的信息
*
* @return 当前连接的数据库信息属性
*/
@Override
public DatabaseInfoMetaData databaseInfoMetaData() {
List<TableMetaData> databaseTableList = databaseMetadataProvider.getTableMetadataBatch(null);
2025-06-28 22:10:25 +08:00
// 将当前数据库表分组以数据库名称为key
List<TableMetaData> databaseList = databaseTableList.stream()
.collect(Collectors.groupingBy(TableMetaData::getTableCat))
.values().stream()
.map(tableInfoVos -> {
TableMetaData tableInfoVo = tableInfoVos.get(0);
tableInfoVo.setTableName(null);
return tableInfoVo;
}).toList();
DatabaseInfoMetaData databaseInfoMetaData = databaseMetadataProvider.databaseInfoMetaData();
2025-06-28 22:10:25 +08:00
databaseInfoMetaData.setDatabaseList(databaseList);
return databaseInfoMetaData;
}
}