springboot多数据源配置和HikariPool线程池配置

配置类:

注意 @Primary 注解,他可以理解为优先选择,这下面的代码是一个主要连接,如果需要再加入一个连接的话复制以下代码修改name 吧@Primary注解去掉就行了。
注意spring.datasource.test 是后面配置的

@Configuration
@MapperScan(basePackages = {"mapper地址"},sqlSessionFactoryRef = "testSqlSessionFactory")
public class OADataSourceConfig {

    @Bean(name="testDataSource")//注入到这个容器
    @ConfigurationProperties(prefix="spring.datasource.test")
    @Primary
    public DataSource testDataSource(){
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "testSqlSessionFactory")
    @Primary
    public SqlSessionFactory testSqlSessionFactory(@Qualifier("testDataSource") DataSource dataSource)throws Exception{
        SqlSessionFactoryBean bean=new SqlSessionFactoryBean();
        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
        configuration.setCallSettersOnNulls(true);
        bean.setConfiguration(configuration);
        bean.setDataSource(dataSource);
        return bean.getObject();
    }

    @Bean(name="testTransactionManager")//配置事务
    @Primary
    public DataSourceTransactionManager testTransactionManager(@Qualifier("testDataSource") DataSource dataSource){
        return new DataSourceTransactionManager(dataSource);
    }

    @Bean(name="testSqlSessionTemplate")
    @Primary
    public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("testSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
}

application.properties配置

如果配置多个数据库连接HikariPool连接池也要配置多个。

#数据库配置
spring.datasource.test.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.test.jdbc-url=jdbc:oracle:thin:@数据库连接地址
spring.datasource.test.username=用户名
spring.datasource.test.password=密码

#配置连接池HikariPool
#池中维护的最小空闲连接数
spring.datasource.test.minimum-idle=5
#连接池中允许的最大连接数
spring.datasource.test.maximum-pool-size=25
#一个连接idle状态的最大时长(毫秒),
spring.datasource.test.idle-timeout=60000
#连接池名称,默认HikariPool-1
spring.datasource.test.pool-name=HikariPool-oa
#连接最大存活时间.不等于0且小于30秒,会被重置为默认值30分钟.
spring.datasource.test.max-lifetime=300000
#连接超时时间:毫秒,小于250毫秒,否则被重置为默认值30秒
spring.datasource.test.connection-timeout=30000

你可能感兴趣的:(springboot多数据源配置和HikariPool线程池配置)