mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-08-01 08:52:11 +08:00
@ -4,10 +4,39 @@ import java.sql.Connection;
|
|||||||
|
|
||||||
import ai.chat2db.spi.DBManage;
|
import ai.chat2db.spi.DBManage;
|
||||||
import ai.chat2db.spi.jdbc.DefaultDBManage;
|
import ai.chat2db.spi.jdbc.DefaultDBManage;
|
||||||
|
import ai.chat2db.spi.sql.ConnectInfo;
|
||||||
import ai.chat2db.spi.sql.SQLExecutor;
|
import ai.chat2db.spi.sql.SQLExecutor;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import javax.net.ssl.HostnameVerifier;
|
||||||
|
|
||||||
public class ClickHouseDBManage extends DefaultDBManage implements DBManage {
|
public class ClickHouseDBManage extends DefaultDBManage implements DBManage {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Connection getConnection(ConnectInfo connectInfo) {
|
||||||
|
String url = setDatabaseInJdbcUrl(connectInfo);
|
||||||
|
connectInfo.setUrl(url);
|
||||||
|
|
||||||
|
return super.getConnection(connectInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String setDatabaseInJdbcUrl(ConnectInfo connectInfo) {
|
||||||
|
String databaseName;
|
||||||
|
String url = connectInfo.getUrl();
|
||||||
|
if (StringUtils.isBlank((databaseName = connectInfo.getDatabaseName())) && StringUtils.isBlank((databaseName = connectInfo.getSchemaName()))) {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
String connectAddress = connectInfo.getHost() + ":" + connectInfo.getPort();
|
||||||
|
String[] addressSplit = url.split(connectAddress);
|
||||||
|
String connectParams = addressSplit[1];
|
||||||
|
if (connectParams.startsWith("/")) {
|
||||||
|
// 删除连接参数中的 /
|
||||||
|
connectParams = connectParams.substring(1);
|
||||||
|
}
|
||||||
|
// 添加数据库名
|
||||||
|
return addressSplit[0] + connectAddress + "/" + databaseName + connectParams;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dropTable(Connection connection, String databaseName, String schemaName, String tableName) {
|
public void dropTable(Connection connection, String databaseName, String schemaName, String tableName) {
|
||||||
|
@ -53,7 +53,10 @@ public class DataSourceUpdateParam {
|
|||||||
*/
|
*/
|
||||||
private String envType;
|
private String envType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境id
|
||||||
|
*/
|
||||||
|
private Integer environmentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* host
|
* host
|
||||||
|
@ -56,7 +56,10 @@ public class DataSourceUpdateRequest {
|
|||||||
*/
|
*/
|
||||||
private String envType;
|
private String envType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 环境id
|
||||||
|
*/
|
||||||
|
private Integer environmentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* host
|
* host
|
||||||
|
Reference in New Issue
Block a user