名称:mysql8
参数说明:
-
url
- 描述:MySQL数据库的jdbc连接字符串,参考文档:Mysql官方文档
- 必选:是
- 默认值:无
-
username
- 描述:数据源的用户名
- 必选:否
- 默认值:无
-
password
- 描述:数据源指定用户名的密码
- 必选:否
- 默认值:无
-
schema
- 描述:数据源指定库
- 必选:否
- 默认值:无
-
connection
- 描述:数据源指定connection
- 必选:否
- 默认值:无
-
poolConfig
- 描述:数据源池化参数,详见连接池使用
- 必选:否
- 默认值:无
构造sourceDTO
Mysql8SourceDTO sourceDTO = Mysql8SourceDTO.builder()
.url("jdbc:mysql://xxxx")
.username("xxxx")
.password("xxxx")
.build();
入参类型:
- Mysql8SourceDTO:数据源连接信息
出参类型:
- Connection:数据源连接
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
Connection conn = client.getCon(sourceDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
出参类型:
- Connection:数据源连接
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
Boolean isConnected = client.testCon(sourceDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List<Map<String, Object>>:执行结果
使用:
// 普通查询
IClient client = ClientCache.getClient(DataSourceType.MySQL8.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.MySQL8.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);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- Boolean:执行成功与否
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
String sql = "create table if not exists dtstack (id int)";
SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql(sql).build();
client.executeSqlWithoutResultSet(sourceDTO, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().build();
List<String> tableList = client.getTableList(sourceDTO, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().limit(10).tableNamePattern("xxx").schema("dtstack").build();
List<String> tableList = client.getTableListBySchema(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表字段 Java 类的标准名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build();
List<String> columnClassInfo = client.getColumnClassInfo(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表字段信息集合ColumnMetaDTO
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build();
List<ColumnMetaDTO> columnMetaData = client.getColumnMetaData(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- String:表字段 Java 类的标准名称集合
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal());
SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build();
String comment = client.getTableMetaComment(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List<List>:预览数据信息
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").previewNum(200).build(); List<List<Object>> previewDate = client.getPreview(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:库集合
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); List<String> allDatabases = client.getAllDatabases(source, SqlQueryDTO.builder().build());
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- String:建表sql
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); SqlQueryDTO queryDTO = SqlQueryDTO.builder().tableName("dtstack").build(); String createTableSql = client.getCreateTableSql(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- String:正在使用的数据库
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); String currentDatabase = client.getCurrentDatabase(source);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- List:表字段信息集合ColumnMetaDTO
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); SqlQueryDTO queryDTO = SqlQueryDTO.builder().sql("select * from dtstack").build(); List<ColumnMetaDTO> result = client.getColumnMetaDataWithSql(source, queryDTO);
入参类型:
- Mysql8SourceDTO:数据源连接信息
- SqlQueryDTO:查询信息
出参类型:
- IDownloader:表数据下载器
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.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); } }
入参类型:
- Mysql8SourceDTO:数据源连接信息
- String:库名
- String:库注释
出参类型:
- Boolean:执行结果
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); Boolean check = client.createDatabase(source, "dtstack", "comment");
入参类型:
- Mysql8SourceDTO:数据源连接信息
- String:库名
出参类型:
- Boolean:是否存在
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); Boolean check = client.isDatabaseExists(source, "dtstack");
入参类型:
- Mysql8SourceDTO:数据源连接信息
- String:库名
出参类型:
- Boolean:是否存在
使用:
IClient client = ClientCache.getClient(DataSourceType.MySQL8.getVal()); Boolean check = client.isTableExistsInDatabase(source, "dtstack", "db");