From c47a65b5dee7b2721a2049d018a4c18cd11a888f Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 27 Jun 2025 22:10:31 +0800 Subject: [PATCH] =?UTF-8?q?:poop:=20=E4=BF=AE=E6=94=B9=E5=86=97=E4=BD=99?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/bunny/config/VmsHolder.java | 2 +- .../cn/bunny/controller/TableController.java | 1 + .../core/factory/AbstractDatabaseInfo.java | 12 ++++++--- .../core/factory/ConcreteDatabaseInfo.java | 2 +- .../service/impl/SqlParserServiceImpl.java | 6 ++--- .../bunny/service/impl/TableServiceImpl.java | 26 ++++--------------- .../cn/bunny/service/impl/VmsServiceImpl.java | 10 +++---- .../src/main/resources/application.yml | 2 +- 8 files changed, 25 insertions(+), 36 deletions(-) diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/config/VmsHolder.java b/generator-code-server/generator-code/src/main/java/cn/bunny/config/VmsHolder.java index 0e7651e..0272948 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/config/VmsHolder.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/config/VmsHolder.java @@ -12,7 +12,7 @@ public class VmsHolder { @PostConstruct public void init() { Properties prop = new Properties(); - prop.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); + prop.put("resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); Velocity.init(prop); } } diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/controller/TableController.java b/generator-code-server/generator-code/src/main/java/cn/bunny/controller/TableController.java index d3ffe89..72732cf 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/controller/TableController.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/controller/TableController.java @@ -22,6 +22,7 @@ public class TableController { @Resource private TableService tableService; + @Operation(summary = "当前数据库信息", description = "当前连接的数据库信息") @GetMapping("databaseInfoMetaData") public Result databaseInfoMetaData() { diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/AbstractDatabaseInfo.java b/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/AbstractDatabaseInfo.java index c781361..4f2182f 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/AbstractDatabaseInfo.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/AbstractDatabaseInfo.java @@ -2,8 +2,8 @@ package cn.bunny.core.factory; import cn.bunny.domain.entity.ColumnMetaData; import cn.bunny.domain.entity.TableMetaData; -import jakarta.annotation.Resource; import lombok.SneakyThrows; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.sql.DataSource; @@ -16,9 +16,14 @@ import java.util.Set; @Component public abstract class AbstractDatabaseInfo { - @Resource + public DataSource dataSource; + @Autowired + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } + /** * 获取表的所有主键列名 * @@ -26,7 +31,7 @@ public abstract class AbstractDatabaseInfo { * @return 主键列名的集合 */ @SneakyThrows - public Set getPrimaryKeyColumns(String tableName) { + public Set findPrimaryKeyColumns(String tableName) { // 主键的key Set primaryKeys = new HashSet<>(); @@ -61,4 +66,5 @@ public abstract class AbstractDatabaseInfo { * @return 当前表所有的列内容 */ public abstract List tableColumnInfo(String name); + } diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/ConcreteDatabaseInfo.java b/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/ConcreteDatabaseInfo.java index f847309..cd57e99 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/ConcreteDatabaseInfo.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/core/factory/ConcreteDatabaseInfo.java @@ -125,7 +125,7 @@ public class ConcreteDatabaseInfo extends AbstractDatabaseInfo { DatabaseMetaData metaData = connection.getMetaData(); Map map = new LinkedHashMap<>(); // 当前表的主键 - Set primaryKeyColumns = getPrimaryKeyColumns(tableName); + Set primaryKeyColumns = findPrimaryKeyColumns(tableName); // 当前表的列信息 try (ResultSet columnsRs = metaData.getColumns(null, null, tableName, null)) { diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/SqlParserServiceImpl.java b/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/SqlParserServiceImpl.java index 67028f6..ecb5e55 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/SqlParserServiceImpl.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/SqlParserServiceImpl.java @@ -3,15 +3,15 @@ package cn.bunny.service.impl; import cn.bunny.core.factory.ConcreteSqlParserDatabaseInfo; import cn.bunny.domain.entity.TableMetaData; import cn.bunny.service.SqlParserService; -import jakarta.annotation.Resource; +import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @Service +@RequiredArgsConstructor public class SqlParserServiceImpl implements SqlParserService { - @Resource - private ConcreteSqlParserDatabaseInfo sqlParserDatabaseInfo; + private final ConcreteSqlParserDatabaseInfo sqlParserDatabaseInfo; /** * 解析SQL内容 diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/TableServiceImpl.java b/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/TableServiceImpl.java index 81b7f68..1819c72 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/TableServiceImpl.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/TableServiceImpl.java @@ -5,19 +5,18 @@ import cn.bunny.domain.entity.ColumnMetaData; import cn.bunny.domain.entity.DatabaseInfoMetaData; import cn.bunny.domain.entity.TableMetaData; import cn.bunny.service.TableService; -import jakarta.annotation.Resource; +import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; @Service +@RequiredArgsConstructor public class TableServiceImpl implements TableService { - @Resource - private ConcreteDatabaseInfo databaseInfoCore; + private final ConcreteDatabaseInfo databaseInfoCore; /** * 获取表属性 @@ -25,15 +24,9 @@ public class TableServiceImpl implements TableService { * @param tableName 表名称 * @return 表属性 */ - @SneakyThrows @Override public TableMetaData tableMetaData(String tableName) { - TableMetaData tableInfoVo = new TableMetaData(); - - TableMetaData tableMetaData = databaseInfoCore.getTableMetadata(tableName); - BeanUtils.copyProperties(tableMetaData, tableInfoVo); - - return tableInfoVo; + return databaseInfoCore.getTableMetadata(tableName); } /** @@ -41,17 +34,9 @@ public class TableServiceImpl implements TableService { * * @return 所有表信息 */ - @SneakyThrows @Override public List databaseTableList(String dbName) { - List allTableInfo = databaseInfoCore.databaseTableList(dbName); - - return allTableInfo.stream().map(tableMetaData -> { - TableMetaData tableInfoVo = new TableMetaData(); - BeanUtils.copyProperties(tableMetaData, tableInfoVo); - - return tableInfoVo; - }).toList(); + return databaseInfoCore.databaseTableList(dbName); } /** @@ -60,7 +45,6 @@ public class TableServiceImpl implements TableService { * @param tableName 表名称 * @return 当前表所有的列内容 */ - @SneakyThrows @Override public List tableColumnInfo(String tableName) { return databaseInfoCore.tableColumnInfo(tableName); diff --git a/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/VmsServiceImpl.java b/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/VmsServiceImpl.java index 8791a3d..915324d 100644 --- a/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/VmsServiceImpl.java +++ b/generator-code-server/generator-code/src/main/java/cn/bunny/service/impl/VmsServiceImpl.java @@ -12,7 +12,7 @@ import cn.bunny.service.VmsService; import cn.bunny.utils.ResourceFileUtil; import cn.bunny.utils.VmsUtil; import cn.hutool.crypto.digest.MD5; -import jakarta.annotation.Resource; +import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -32,13 +32,11 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @Service +@RequiredArgsConstructor public class VmsServiceImpl implements VmsService { - @Resource - ConcreteDatabaseInfo databaseInfoCore; - - @Resource - ConcreteSqlParserDatabaseInfo sqlParserDatabaseInfo; + private final ConcreteDatabaseInfo databaseInfoCore; + private final ConcreteSqlParserDatabaseInfo sqlParserDatabaseInfo; /** * 生成服务端代码 diff --git a/generator-code-server/generator-code/src/main/resources/application.yml b/generator-code-server/generator-code/src/main/resources/application.yml index df0fbdf..6c73de8 100644 --- a/generator-code-server/generator-code/src/main/resources/application.yml +++ b/generator-code-server/generator-code/src/main/resources/application.yml @@ -3,7 +3,7 @@ server: spring: profiles: - active: dev + active: prod application: name: generator-code thymeleaf: