栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使Spring Data处理多个异构数据源?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使Spring Data处理多个异构数据源?

您可以创建两个数据源和实体管理器,其中一个标记为@Primary

@Configuration@EnableJpaRepositories(basePackages = "io.eddumelendez.springdatajpa.repository1")public class FirstConfiguration {    @ConfigurationProperties(prefix = "datasource.postgres")    @Bean    @Primary    public DataSource postgresDataSource() {        return DataSourceBuilder.create().     build();    }    @Bean(name = "entityManagerFactory")    @Primary    public LocalContainerEntityManagerFactoryBean emf1(EntityManagerFactoryBuilder builder){        return builder     .dataSource(postgresDataSource())     .packages("io.eddumelendez.springdatajpa.domain1")     .persistenceUnit("users")     .build();    }}

另一个数据源的配置:

@Configuration@EnableJpaRepositories(basePackages = "io.eddumelendez.springdatajpa.repository2", entityManagerFactoryRef = "emf2")public class SecondConfiguration {    @Bean    @ConfigurationProperties(prefix = "datasource.mysql")    public DataSource mysqlDataSource() {        return DataSourceBuilder.create().build();    }    @Bean    public LocalContainerEntityManagerFactoryBean emf2(EntityManagerFactoryBuilder builder){        return builder     .dataSource(mysqlDataSource())     .packages("io.eddumelendez.springdatajpa.domain2")     .persistenceUnit("customers")     .build();    }}

您的application.properties应该如下所示:

datasource.mysql.url=jdbc:mysql://localhost:3306/mysql_demodatasource.mysql.username=rootdatasource.mysql.password=rootdatasource.postgres.url=jdbc:postgresql://localhost:5432/postgres_demodatasource.postgres.username=postgresdatasource.postgres.password=postgres


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635692.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号