Springboot配置多數據源(Mysql和Orcale)--(Idea Maven JDBCTemplate支持下的)


1.配置 orcale jdbc 

  對於一個Maven項目,使用Mysql時,可直接添加如下依賴:

  
<dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>8.0.11</version>
</dependency>

 



 但是對於Orcale來說,由於Orcale對Maven的授權問題,jdbc並不能像Mysql那樣直接配置,
 需要在本地倉庫(如果使用的是自己的倉庫,需在自己的倉庫添加)里添加ojdbc的依賴包:



在目錄C:\Users\Administrator\.m2\repository\com\oracle\ojdbc6下添加ojdbc jar包
jar包下載地址 https://pan.baidu.com/s/1_147I-TFRA_wnoYmCkiSiA
添加pom依賴:
    
      
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.1.0</version>
</dependency>

 



會發現項目已經出現ojdbc的 jar包


2.
Spring Boot多數據源配置與使用

①application.properties 添加數據庫信息



②創建一個Spring配置類,定義兩個DataSource用來讀取application.properties中的不同配置

@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.secondary")
    public DataSource secondaryDataSource() {
        return DataSourceBuilder.create().build();
    }

 

  ③ JdbcTemplate的支持 比較簡單,只需要為其注入對應的datasource即可

@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);
    }

  ④ 測試類

  

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(Application.class)
public class ApplicationTests {

    protected final Logger cLogger = Logger.getLogger(getClass());

    @Autowired @Qualifier("primaryJdbcTemplate")
    protected JdbcTemplate jdbcTemplate1;

  @Autowired
    @Qualifier("secondaryJdbcTemplate")
    protected JdbcTemplate jdbcTemplate2;


    @Test public void test() throws Exception {

        String sql="select * from ldsysvar";
        List resultList=jdbcTemplate1.queryForList(sql);
        cLogger.info("\n"+resultList);

        String sql1="select * from prturl";
        List resultList1=jdbcTemplate2.queryForList(sql1);
        cLogger.info("\n"+resultList1);

    }

 

 






 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM