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