名称:libra
参数说明:
-
url
- 描述:LIBRA数据库的jdbc连接字符串
- 必选:是
- 默认值:无
-
username
- 描述:数据源的用户名
- 必选:否
- 默认值:无
-
password
- 描述:数据源指定用户名的密码
- 必选:否
- 默认值:无
-
schema
- 描述:数据源指定库
- 必选:否
- 默认值:无
-
connection
- 描述:数据源指定connection
- 必选:否
- 默认值:无
-
poolConfig
- 描述:数据源池化参数,详见连接池使用
- 必选:否
- 默认值:无
构造sourceDTO
LibraSourceDTO sourceDTO = LibraSourceDTO.builder()
.url("jdbc:postgresql://xxx:xxx/xxx?currentSchema=xxx")
.username("xxxx")
.password("xxxx")
.build();
入参类型:
- LibraSourceDTO:数据源连接信息
出参类型:
- Connection:数据源连接
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
Connection conn = client.getCon(sourceDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
出参类型:
- Connection:数据源连接
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
Boolean isConnected = client.testCon(sourceDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List<Map<String, Object>>:执行结果
使用:
// 普通查询
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
String sql = "select * from dtstack limit 10";
SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql(sql).build();
List<Map<String, Object>> mapList = client.executeQuery(sourceDTO, queryDTO);
// 预编译查询
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
String sql = "select * from dtstack limit 10 where id > ? and id < ? ";
List<Object> preFields = new ArrayList<>();
preFields.add(2);
preFields.add(5);
SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql(sql).preFields(preFields).build();
List<Map<String, Object>> mapList = client.executeQuery(sourceDTO, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- Boolean:执行成功与否
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
String sql = "create table if not exists dtstack (id int)";
SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql(sql).build();
client.executeSqlWithoutResultSet(sourceDTO, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().build();
List<String> tableList = client.getTableList(sourceDTO, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().schema("dtstack").build();
List<String> tableList = client.getTableListBySchema(source, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表字段 Java 类的标准名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build();
List<String> columnClassInfo = client.getColumnClassInfo(source, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表字段信息集合ColumnMetaDTO
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build();
List<ColumnMetaDTO> columnMetaData = client.getColumnMetaData(source, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- String:表字段 Java 类的标准名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build();
String comment = client.getTableMetaComment(source, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List<List>:预览数据信息
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").previewNum(200).build(); List<List<Object>> previewDate = client.getPreview(source, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:库集合
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); List<String> allDatabases = client.getAllDatabases(source, SqlQueryDTO.builder().build());
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- String:正在使用的schema
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); String currentDatabase = client.getCurrentDatabase(source);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表字段信息集合ColumnMetaDTO
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql("select * from dtstack").build(); List<ColumnMetaDTO> result = client.getColumnMetaDataWithSql(source, queryDTO);
入参类型:
- LibraSourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- IDownloader:表数据下载器
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql("select * from nanqi").build(); IDownloader downloader = client.getDownloader(source, queryDTO); downloader.configure(); List<String> metaInfo = downloader.getMetaInfo(); System.out.println(metaInfo); while (!downloader.reachedEnd()){ List<List<String>> result = (List<List<String>>)downloader.readNext(); for (List<String> row : result){ System.out.println(row); } }
入参类型:
- LibraSourceDTO:数据源连接信息
- String:库名
- String:库注释
出参类型:
- Boolean:执行结果
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); Boolean check = client.createDatabase(source, "dtstack", "comment");
入参类型:
- LibraSourceDTO:数据源连接信息
- String:库名
出参类型:
- Boolean:是否存在
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); Boolean check = client.isDatabaseExists(source, "dtstack");
入参类型:
- LibraSourceDTO:数据源连接信息
- String:库名
出参类型:
- Boolean:是否存在
使用:
IClient client = ClientCache.getClient(DataSourceType.LIBRA.getVal()); Boolean check = client.isTableExistsInDatabase(source, "dtstack", "db");
构造sourceDTO
LibraSourceDTO sourceDTO = LibraSourceDTO.builder() .url("jdbc:postgresql://xxx:xxx/xxx?currentSchema=xxx") .username("xxxx") .password("xxxx") .build();
入参类型:
- LibraSourceDTO:数据源连接信息
- schema:schema名称
- tableName:表名
出参类型:
- Long:表占用存储,单位:byte
使用:
ITable tableClient = ClientCache.getTable(DataSourceType.LIBRA.getVal()); Long tableSize = tableClient.getTableSize(source, "public", "xxxx");
入参类型:
- LibraSourceDTO:数据源连接信息
- oldTableName:旧表名
- newTableName:新表名
出参类型:
- Boolean: 是否成功
使用:
ITable client = ClientCache.getTable(DataSourceType.LIBRA.getVal()); Boolean renameCheck1 = client.renameTable(source, "pg_test", "pg_test2");
入参类型:
- LibraSourceDTO:数据源连接信息
- tableName:表名
出参类型:
- Boolean: 是否删除成功
使用:
ITable client = ClientCache.getTable(DataSourceType.LIBRA.getVal()); Boolean dropCheck = client.dropTable(source, "pg_test");
入参类型:
- LibraSourceDTO:数据源连接信息
- tableName:表名
出参类型:
- Boolean: 是否是视图
使用:
ITable client = ClientCache.getTable(DataSourceType.LIBRA.getVal()); Boolean check = client.isView(source, null, "pg_test_view");