1、目录结构
2.jdbc.properties配置
#db hougespring.datasource.houge.jdbc-url=jdbc:oracle:thin:@192.168.0.120:1521:ORCLspring.datasource.houge.username=hougespring.datasource.houge.password=monkeyspring.datasource.houge.driver-class-name=oracle.jdbc.driver.OracleDriverspring.datasource.houge.initial-size=10spring.datasource.houge.min-idle=10spring.datasource.houge.max-active=100#db gkhspring.datasource.gkh.jdbc-url=jdbc:oracle:thin:@192.168.0.115:1521:ORCLspring.datasource.gkh.username=gkhspring.datasource.gkh.password=111111spring.datasource.gkh.driver-class-name=oracle.jdbc.driver.OracleDriverspring.datasource.gkh.initial-size=10spring.datasource.gkh.min-idle=10spring.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());}}