From 35bb512e74406743ed5618a9b9af4e73443e8556 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Thu, 22 Apr 2021 14:25:45 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.0.3=E3=80=91=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roses/kernel/dsctn/api/DataSourceApi.java | 23 +++++++++++ .../kernel/dsctn/api/pojo/DataSourceDto.java | 39 +++++++++++++++++++ .../api/pojo/request/DatabaseInfoRequest.java | 5 +++ .../dsctn/modular/entity/DatabaseInfo.java | 6 +++ .../modular/service/DatabaseInfoService.java | 3 +- .../service/impl/DatabaseInfoServiceImpl.java | 20 ++++++---- 6 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java create mode 100644 kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/DataSourceDto.java diff --git a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java new file mode 100644 index 000000000..59a57ec31 --- /dev/null +++ b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/DataSourceApi.java @@ -0,0 +1,23 @@ +package cn.stylefeng.roses.kernel.dsctn.api; + +import cn.stylefeng.roses.kernel.dsctn.api.pojo.DataSourceDto; + +/** + * 数据库连接的api + * + * @author fengshuonan + * @date 2021/4/22 14:19 + */ +public interface DataSourceApi { + + /** + * 根据dbId获取数据库连接信息 + * + * @param dbId 数据库连接id + * @return 数据库连接信息 + * @author fengshuonan + * @date 2021/4/22 14:21 + */ + DataSourceDto getDataSourceInfoById(Long dbId); + +} diff --git a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/DataSourceDto.java b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/DataSourceDto.java new file mode 100644 index 000000000..bd18a2d55 --- /dev/null +++ b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/DataSourceDto.java @@ -0,0 +1,39 @@ +package cn.stylefeng.roses.kernel.dsctn.api.pojo; + +import lombok.Data; + +/** + * 数据库连接信息传输DTO + * + * @author fengshuonan + * @date 2021/4/22 14:20 + */ +@Data +public class DataSourceDto { + + /** + * jdbc的驱动类型 + */ + private String jdbcDriver; + + /** + * jdbc的url + */ + private String jdbcUrl; + + /** + * 数据库连接的账号 + */ + private String username; + + /** + * 数据库连接密码 + */ + private String password; + + /** + * 数据库schemaName,注意,每种数据库的schema意义不同 + */ + private String schemaName; + +} diff --git a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java index b7a035f13..6e09aba0c 100644 --- a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java +++ b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java @@ -87,6 +87,11 @@ public class DatabaseInfoRequest extends BaseRequest { @NotBlank(message = "数据库连接密码", groups = {add.class, edit.class}) private String password; + /** + * 数据库schemaName,注意,每种数据库的schema意义不同 + */ + private String schemaName; + /** * 状态标识:1-正常,2-无法连接 */ diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/entity/DatabaseInfo.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/entity/DatabaseInfo.java index 3f90c541b..065474b38 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/entity/DatabaseInfo.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/entity/DatabaseInfo.java @@ -78,6 +78,12 @@ public class DatabaseInfo extends BaseEntity { @TableField("password") private String password; + /** + * 数据库的schema名称,每种数据库的schema意义都不同 + */ + @TableField("schema_name") + private String schemaName; + /** * 状态标识:1-正常,2-无法连接 */ diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java index 0fb653a67..f723d1c65 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java @@ -25,6 +25,7 @@ package cn.stylefeng.roses.kernel.dsctn.modular.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.dsctn.api.DataSourceApi; import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest; import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -37,7 +38,7 @@ import java.util.List; * @author fengshuonan * @date 2020/11/1 21:46 */ -public interface DatabaseInfoService extends IService { +public interface DatabaseInfoService extends IService, DataSourceApi { /** * 新增数据库信息 diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java index 18190b717..c2c1ec552 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java @@ -33,6 +33,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.druid.DruidProperties; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.dsctn.api.exception.DatasourceContainerException; +import cn.stylefeng.roses.kernel.dsctn.api.pojo.DataSourceDto; import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest; import cn.stylefeng.roses.kernel.dsctn.context.DataSourceContext; import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo; @@ -162,12 +163,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl