Driver configuration is configured through json,

Support driver attribute configuration.
This commit is contained in:
SwallowGG
2023-11-12 22:25:51 +08:00
parent 12c1c46bcd
commit eed78015dc
75 changed files with 859 additions and 467 deletions

View File

@ -18,4 +18,18 @@
<artifactId>chat2db-spi</artifactId>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<!--properties的配置文件会和编译后的class文件放在一起-->
<include>**/*.json</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>

View File

@ -1,16 +1,16 @@
package ai.chat2db.plugin.mysql;
import ai.chat2db.plugin.mysql.builder.DBConfigBuilder;
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.MetaData;
import ai.chat2db.spi.Plugin;
import ai.chat2db.spi.config.DBConfig;
import ai.chat2db.spi.util.FileUtils;
public class MysqlPlugin implements Plugin {
@Override
public DBConfig getDBConfig() {
return DBConfigBuilder.buildDBConfig();
return FileUtils.readJsonValue(this.getClass(),"mysql.json", DBConfig.class);
}
@Override

View File

@ -1,29 +0,0 @@
package ai.chat2db.plugin.mysql.builder;
import ai.chat2db.spi.config.DBConfig;
import ai.chat2db.spi.config.DriverConfig;
import com.google.common.collect.Lists;
public class DBConfigBuilder {
public static DBConfig buildDBConfig() {
DBConfig dbConfig = new DBConfig();
dbConfig.setName("Mysql");
dbConfig.setDbType("MYSQL");
DriverConfig driverConfig = new DriverConfig();
driverConfig.setJdbcDriver("mysql-connector-java-8.0.30.jar");
driverConfig.setJdbcDriverClass("com.mysql.cj.jdbc.Driver");
driverConfig.setDownloadJdbcDriverUrls(Lists.newArrayList("https://oss.sqlgpt.cn/lib/mysql-connector-java-8.0.30.jar"));
dbConfig.setDefaultDriverConfig(driverConfig);
DriverConfig driverConfig2 = new DriverConfig();
driverConfig2.setJdbcDriver("mysql-connector-java-5.1.47.jar");
driverConfig2.setJdbcDriverClass("com.mysql.jdbc.Driver");
driverConfig2.setDownloadJdbcDriverUrls(Lists.newArrayList("https://oss.sqlgpt.cn/lib/mysql-connector-java-5.1.47.jar"));
dbConfig.setDriverConfigList(Lists.newArrayList(driverConfig,driverConfig2));
return dbConfig;
}
}

View File

@ -0,0 +1,26 @@
{
"dbType": "MYSQL",
"driverConfigList": [
{
"url": "jdbc:mysql://localhost:3306/",
"defaultDriver": true,
"custom": false,
"downloadJdbcDriverUrls": [
"https://oss.sqlgpt.cn/lib/mysql-connector-java-8.0.30.jar"
],
"jdbcDriver": "mysql-connector-java-8.0.30.jar",
"jdbcDriverClass": "com.mysql.cj.jdbc.Driver"
},
{
"url": "jdbc:mysql://localhost:3306/",
"defaultDriver": false,
"custom": false,
"downloadJdbcDriverUrls": [
"https://oss.sqlgpt.cn/lib/mysql-connector-java-5.1.47.jar"
],
"jdbcDriver": "mysql-connector-java-5.1.47.jar",
"jdbcDriverClass": "com.mysql.jdbc.Driver"
}
],
"name": "Mysql"
}