数据源客户端
一、简介
1.1 概述
数据源客户端是用于获取平台下维护的数据源信息,从而可以方便的使用获取到的数据源进行一系列操作。
1.2 组件坐标
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-platform</artifactId>
<version>${hzero.boot.version}</version>
</dependency>
1.3 功能特性
- 提供了多种重载方法,可以根据需求选择性的调用这些方法获取需要的数据源信息
- 提供了判断数据源是否存在的方法入口
- 获取数据源内容时,优先获取租户数据源,若获取不到指定租户下的数据源则会去获取平台数据源。
- 返回的数据源信息中会将扩展字段中包含的值转换为Map放入extConfigMap参数中,数据库连接池参数也会转换为Map放入optionsMap中,可以按需使用。
二、使用说明
@Autowired
private DatasourceHelper dsHelper;
public void test() {
// 获取平台数据源信息,非数据分发时调用
DatasourceVO datasource1 = dsHelper.getDatasource(dsPurposeCode, datasourceCode);
// 获取平台数据源信息,数据分发时调用
DatasourceVO datasource2 = dsHelper.getDatasource(dsPurposeCode, datasourceCode, serviceName);
// 根据传入的租户查询数据源信息,若租户获取不到则会去取平台数据源,非数据分发时调用
DatasourceVO datasource3 = dsHelper.getDatasource(dsPurposeCode, tenantId, datasourceCode);
// 根据传入的租户查询数据源信息,若租户获取不到则会去取平台数据源,数据分发时调用
DatasourceVO datasource4 = dsHelper.getDatasource(dsPurposeCode, tenantId, datasourceCode, serviceName);
// 判断非数据分发的租户数据源是否存在
boolean isExists1 = dsHelper.exists(dsPurposeCode, tenantId, datasourceCode);
// 判断数据分发的租户数据源是否存在
boolean isExists2 = dsHelper.exists(dsPurposeCode, tenantId, datasourceCode, serviceName);
}
参数具体意思如下:
{
dsPurposeCode (String):数据源用途,可从DsConstants.DsPurpose下获取,包含(DT:数据分发;DI:数据导入;DR:数据报表)三种类型
datasourceCode (String):数据源编码,同一租户下数据源编码唯一
tenantId (Long):租户Id
serviceName (String):服务名称,获取数据分发类型数据源时该参数必输
}