mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 12:03:05 +08:00
feat: 示例数据
This commit is contained in:
parent
f88d0f5eaa
commit
17dcc57963
@ -32,5 +32,5 @@ public abstract class DatasourceProvider {
|
|||||||
|
|
||||||
abstract public Map<String, List> fetchResultAndField(DatasourceRequest datasourceRequest) throws Exception;
|
abstract public Map<String, List> fetchResultAndField(DatasourceRequest datasourceRequest) throws Exception;
|
||||||
|
|
||||||
abstract public void initDataSource(DatasourceRequest datasourceRequest) throws Exception;
|
abstract public void initDataSource(DatasourceRequest datasourceRequest, String type) throws Exception;
|
||||||
}
|
}
|
||||||
|
@ -271,7 +271,7 @@ public class JdbcProvider extends DatasourceProvider {
|
|||||||
private Connection getConnectionFromPool(DatasourceRequest datasourceRequest) throws Exception {
|
private Connection getConnectionFromPool(DatasourceRequest datasourceRequest) throws Exception {
|
||||||
ComboPooledDataSource dataSource = jdbcConnection.get(datasourceRequest.getDatasource().getId());
|
ComboPooledDataSource dataSource = jdbcConnection.get(datasourceRequest.getDatasource().getId());
|
||||||
if (dataSource == null) {
|
if (dataSource == null) {
|
||||||
initDataSource(datasourceRequest);
|
initDataSource(datasourceRequest, "add");
|
||||||
}
|
}
|
||||||
dataSource = jdbcConnection.get(datasourceRequest.getDatasource().getId());
|
dataSource = jdbcConnection.get(datasourceRequest.getDatasource().getId());
|
||||||
Connection co = dataSource.getConnection();
|
Connection co = dataSource.getConnection();
|
||||||
@ -279,9 +279,28 @@ public class JdbcProvider extends DatasourceProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initDataSource(DatasourceRequest datasourceRequest) throws Exception {
|
public void initDataSource(DatasourceRequest datasourceRequest, String type) throws Exception {
|
||||||
|
switch (type){
|
||||||
|
case "add":
|
||||||
ComboPooledDataSource dataSource = jdbcConnection.get(datasourceRequest.getDatasource().getId());
|
ComboPooledDataSource dataSource = jdbcConnection.get(datasourceRequest.getDatasource().getId());
|
||||||
if (dataSource == null) {
|
if (dataSource == null) {
|
||||||
|
extracted(datasourceRequest);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "edit":
|
||||||
|
jdbcConnection.remove(datasourceRequest.getDatasource().getId());
|
||||||
|
extracted(datasourceRequest);
|
||||||
|
break;
|
||||||
|
case "delete":
|
||||||
|
jdbcConnection.remove(datasourceRequest.getDatasource().getId());
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void extracted(DatasourceRequest datasourceRequest) throws PropertyVetoException {
|
||||||
|
ComboPooledDataSource dataSource;
|
||||||
dataSource = new ComboPooledDataSource();
|
dataSource = new ComboPooledDataSource();
|
||||||
setCredential(datasourceRequest, dataSource);
|
setCredential(datasourceRequest, dataSource);
|
||||||
dataSource.setMaxIdleTime(30); // 最大空闲时间
|
dataSource.setMaxIdleTime(30); // 最大空闲时间
|
||||||
@ -301,7 +320,6 @@ public class JdbcProvider extends DatasourceProvider {
|
|||||||
dataSource.setUnreturnedConnectionTimeout(3600);
|
dataSource.setUnreturnedConnectionTimeout(3600);
|
||||||
jdbcConnection.put(datasourceRequest.getDatasource().getId(), dataSource);
|
jdbcConnection.put(datasourceRequest.getDatasource().getId(), dataSource);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private static Connection getConnection(DatasourceRequest datasourceRequest) throws Exception {
|
private static Connection getConnection(DatasourceRequest datasourceRequest) throws Exception {
|
||||||
String username = null;
|
String username = null;
|
||||||
|
@ -55,9 +55,24 @@ public class DatasourceService {
|
|||||||
datasource.setCreateTime(currentTimeMillis);
|
datasource.setCreateTime(currentTimeMillis);
|
||||||
datasource.setCreateBy(String.valueOf(AuthUtils.getUser().getUsername()));
|
datasource.setCreateBy(String.valueOf(AuthUtils.getUser().getUsername()));
|
||||||
datasourceMapper.insertSelective(datasource);
|
datasourceMapper.insertSelective(datasource);
|
||||||
|
initConnectionPool(datasource, "add");
|
||||||
return datasource;
|
return datasource;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initConnectionPool(Datasource datasource, String type) {
|
||||||
|
commonThreadPool.addTask(() -> {
|
||||||
|
try {
|
||||||
|
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||||
|
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||||
|
datasourceRequest.setDatasource(datasource);
|
||||||
|
datasourceProvider.initDataSource(datasourceRequest, type);
|
||||||
|
LogUtil.info("Succsss to init datasource connection pool: " + datasource.getName());
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtil.error("Failed to init datasource connection pool: " + datasource.getName(), e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public List<DatasourceDTO> getDatasourceList(DatasourceUnionRequest request) throws Exception {
|
public List<DatasourceDTO> getDatasourceList(DatasourceUnionRequest request) throws Exception {
|
||||||
request.setSort("update_time desc");
|
request.setSort("update_time desc");
|
||||||
return extDataSourceMapper.queryUnion(request);
|
return extDataSourceMapper.queryUnion(request);
|
||||||
@ -92,6 +107,7 @@ public class DatasourceService {
|
|||||||
datasource.setCreateTime(null);
|
datasource.setCreateTime(null);
|
||||||
datasource.setUpdateTime(System.currentTimeMillis());
|
datasource.setUpdateTime(System.currentTimeMillis());
|
||||||
datasourceMapper.updateByPrimaryKeySelective(datasource);
|
datasourceMapper.updateByPrimaryKeySelective(datasource);
|
||||||
|
initConnectionPool(datasource, "edit");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validate(Datasource datasource) throws Exception {
|
public void validate(Datasource datasource) throws Exception {
|
||||||
@ -148,17 +164,7 @@ public class DatasourceService {
|
|||||||
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
|
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
|
||||||
datasources.forEach(datasource -> {
|
datasources.forEach(datasource -> {
|
||||||
try {
|
try {
|
||||||
commonThreadPool.addTask(() -> {
|
initConnectionPool(datasource, "add");
|
||||||
try {
|
|
||||||
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
|
||||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
|
||||||
datasourceRequest.setDatasource(datasource);
|
|
||||||
datasourceProvider.initDataSource(datasourceRequest);
|
|
||||||
LogUtil.info("Succsss to init datasource connection pool: " + datasource.getName());
|
|
||||||
} catch (Exception e) {
|
|
||||||
LogUtil.error("Failed to init datasource connection pool: " + datasource.getName(), e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
139
backend/src/main/resources/db/migration/V8__demo.sql
Normal file
139
backend/src/main/resources/db/migration/V8__demo.sql
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user