|
@@ -4,7 +4,9 @@ import com.zaxxer.hikari.HikariDataSource;
|
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
|
|
|
+import org.springframework.boot.jdbc.DataSourceBuilder;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
@@ -18,11 +20,18 @@ import javax.sql.DataSource;
|
|
|
@EnableTransactionManagement
|
|
@EnableTransactionManagement
|
|
|
public class PgVectorDBConfig {
|
|
public class PgVectorDBConfig {
|
|
|
|
|
|
|
|
|
|
+ @Value("${spring.datasource.pg-vector.connection-init-sql:}")
|
|
|
|
|
+ private String connectionInitSql;
|
|
|
|
|
+
|
|
|
// 1. 配置 pgVector 数据源
|
|
// 1. 配置 pgVector 数据源
|
|
|
@Bean(name = "pgVectorDataSource")
|
|
@Bean(name = "pgVectorDataSource")
|
|
|
@ConfigurationProperties(prefix = "spring.datasource.pg-vector")
|
|
@ConfigurationProperties(prefix = "spring.datasource.pg-vector")
|
|
|
public DataSource pgVectorDataSource() {
|
|
public DataSource pgVectorDataSource() {
|
|
|
- return new HikariDataSource();
|
|
|
|
|
|
|
+ HikariDataSource dataSource = (HikariDataSource) DataSourceBuilder.create().build();
|
|
|
|
|
+ if (connectionInitSql != null && !connectionInitSql.isEmpty()) {
|
|
|
|
|
+ dataSource.setConnectionInitSql(connectionInitSql);
|
|
|
|
|
+ }
|
|
|
|
|
+ return dataSource;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 2. 配置 pgVector 专属 SqlSessionFactory(独立 Configuration,避免与 MySQL 数据源互相污染)
|
|
// 2. 配置 pgVector 专属 SqlSessionFactory(独立 Configuration,避免与 MySQL 数据源互相污染)
|