您的位置:首页 > 编程语言 > Java开发

spring-boot使用两个数据库mysql 和 sqlserver

2018-01-17 19:23 465 查看
首先是properties配置
当然mysql 和 sqlserver的jar包要加上。
#mysql
spring.datasource.primary.url=jdbc:mysql://localhost:3306/db_company?useUnicode=true&characterEncoding=utf-8
spring.datasource.primary.username = root
spring.datasource.primary.password = 123456
spring.datasource.primary.driverClassName = com.mysql.jdbc.Driver
spring.datasource.primary.max-active=20
spring.datasource.primary.max-idle=8
spring.datasource.primary.max-maxWait=100
spring.datasource.primary.min-idle=8
spring.datasource.primary.initial-size=10

#sqlserver
spring.datasource.second.url=jdbc:sqlserver://192.168.x.xxx:1433;database=QSTMGood
spring.datasource.second.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.second.username=sa
spring.datasource.second.password=baitu123
spring.datasource.second.initialSize=1
spring.datasource.second.minIdle=1
spring.datasource.second.maxActive=20
spring.datasource.second.maxWait=30000
spring.datasource.second.timeBetweenEvictionRunsMillis=40000
spring.datasource.second.minEvictableIdleTimeMillis=300000

接下来是jdbctemplate的设置
创建一个Config类

import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.core.JdbcTemplate;
/**   
* Copyright: Copyright (c) 2018 LanRu-Caifu

* @ClassName: DataSourceConfig.java
* @Description: 该类的功能描述
*
* @version: v1.0.0
* @author: coder
* @date: 2018年1月10日 上午10:55:25 
*
* Modification History:
* Date         Author          Version            Description
*---------------------------------------------------------*
* 2018年1月10日     coder           v1.0.0               修改原因
*/
@Configuration
public class DataSourceConfig
{
@Bean(name = "primaryDataSource")
    @Qualifier("primaryDataSource")
    @ConfigurationProperties(prefix="spring.datasource.primary")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "secondaryDataSource")
    @Qualifier("secondaryDataSource")
    @Primary
    @ConfigurationProperties(prefix="spring.datasource.second")
    public DataSource secondaryDataSource() {
        return DataSourceBuilder.create().build();
    }
    
    @Bean(name = "primaryJdbcTemplate")
    public JdbcTemplate primaryJdbcTemplate(
            @Qualifier("primaryDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean(name = "secondaryJdbcTemplate")
    public JdbcTemplate secondaryJdbcTemplate(
            @Qualifier("secondaryDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}

接下来是使用:
@Autowired
@Qualifier("primaryJdbcTemplate")
protected JdbcTemplate jdbcTemplate1;

@Autowired
@Qualifier("secondaryJdbcTemplate")
protected JdbcTemplate jdbcTemplate2;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: