六、springboot(三)配置双数据源
1、目录结构

2.jdbc.properties配置
#db houge spring.datasource.houge.jdbc-url=jdbc:oracle:thin:@192.168.0.120:1521:ORCL spring.datasource.houge.username=houge spring.datasource.houge.password=monkey spring.datasource.houge.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.houge.initial-size=10 spring.datasource.houge.min-idle=10 spring.datasource.houge.max-active=100 #db gkh spring.datasource.gkh.jdbc-url=jdbc:oracle:thin:@192.168.0.115:1521:ORCL spring.datasource.gkh.username=gkh spring.datasource.gkh.password=111111 spring.datasource.gkh.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.gkh.initial-size=10 spring.datasource.gkh.min-idle=10 spring.datasource.gkh.max-active=100
3、注解式数据源配置DataSourceConfig
@Configuration @PropertySource("classpath:config/jdbc.properties") public class DataSourceConfig { @Primary @Bean(name = "dataSourceHouge") @ConfigurationProperties(prefix = "spring.datasource.houge") public DataSource dataSourceHouge() { return DataSourceBuilder.create().build(); } @Bean(name = "dataSourceGkh") @ConfigurationProperties(prefix = "spring.datasource.gkh") public DataSource dataSourceGkh() { return DataSourceBuilder.create().build(); } }
4、houge数据库配置
@Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "entityManagerFactoryHouge", transactionManagerRef = "transactionManagerHouge", basePackages = {"com.lofty.springboot.repository.houge" }) public class HougeDataSource { @Autowired @Qualifier("dataSourceHouge") private DataSource dataSourceHouge; @Primary @Bean(name = "entityManagerFactoryHouge") public LocalContainerEntityManagerFactoryBean entityManagerFactoryHouge(EntityManagerFactoryBuilder builder) { LocalContainerEntityManagerFactoryBean em = builder.dataSource(dataSourceHouge) .packages("com.lofty.springboot.domain.houge") .persistenceUnit("hougePersistenceUnit").build(); return em; } @Primary @Bean(name = "transactionManagerHouge") PlatformTransactionManager transactionManagerHouge(EntityManagerFactoryBuilder builder) { return new JpaTransactionManager(entityManagerFactoryHouge(builder).getObject()); } }
5、gkh数据库配置
@Configuration @EnableTransactionManagement @EnableJpaRepositories( entityManagerFactoryRef = "entityManagerFactoryGkh", transactionManagerRef = "transactionManagerGkh", basePackages = {"com.lofty.springboot.repository.gkh" }) public class GkhDataSource { @Autowired @Qualifier("dataSourceGkh") private DataSource dataSourceGkh; @Bean(name = "entityManagerFactoryGkh") public LocalContainerEntityManagerFactoryBean entityManagerFactoryGkh(EntityManagerFactoryBuilder builder) { LocalContainerEntityManagerFactoryBean em = builder.dataSource(dataSourceGkh) .packages("com.lofty.springboot.domain.gkh") .persistenceUnit("gkhPersistenceUnit").build(); return em; } @Bean(name = "transactionManagerGkh") PlatformTransactionManager transactionManagerGkh(EntityManagerFactoryBuilder builder) { return new JpaTransactionManager(entityManagerFactoryGkh(builder).getObject()); } }
浙公网安备 33010602011771号