استيراد org.springframework.boot.springapplication ؛ استيراد org.springframework.boot.autoconfigure.enableautoconfiguration ؛ استيراد org.springframework.boot.builder.springapplicationBuilder ؛ استيراد org.springframework.boot.context.web.springBootservletinitializer ؛ استيراد org.springframework.context.annotation.componentscan ؛ componentscan enableautoconfiguration // @enablejparepositories (basePackages = "com.sonychina.backend.repository") يمتد تطبيق الطبقة العامة من springbootservletinitializer {public static void main (string [] app.run (args) ؛ //springapplication.run(application.class ، args) ؛ } override محمية springapplicationbuilder تكوين (تطبيق springapplicationBuilder) {return application.sources (application.class) ؛ }}استيراد java.util.map ؛ استيراد javax.sql.datasource ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.boot.autoconfigure.jdbc.datasourceBuilder ؛ استيراد org.springframework.boot.autoconfigure.orm.jpa.entityManagerFactoryBuilder ؛ استيراد org.springframework.boot.autoconfigure.orm.jpa.jpaproperties ؛ استيراد org.springframework.boot.context.properties.ConfigurationProperties ؛ استيراد org.springframework.context.annotation.bean ؛ استيراد org.springframework.context.annotation.configuration ؛ استيراد org.springframework.context.annotation.primary ؛ استيراد org.springframework.data.jpa.repository.config.enableJparePositories ؛ استيراد org.springframework.orm.jpa.localcontainerentityManagerFactorybean ؛ استيراد com.test.entity.statistic.sysuser ؛ استيراد com.test.repository.system.SystemRepository ؛ configuration enablejparePositories (entityManagerFactoryRef = "entityManagerFactoryPrimary" ، BasePackageClasses = {SystemRepository.Class}) الطبقة العامة GlobaldatAconFiguration {//autowired // dbconfig dbconfig ؛ Autowired jpaproperties jpaproperties ؛ bean (name = "primaryDataSource") primary configurationProperties (prefix = "datasource.primary") public dataSource primaryDataSource () {system.out.println ("------------------------------------------------------------------ إرجاع datasourceBuilder.create (). build () ؛ } bean (name = "SecondaryDataSource") configurationProperties (prefix = "datasource.secondary") public dataSource SecondaryDataSource () {system.out.println ("---------------------------------------------------------- // DatasourceBuilder Factory = dataSourceBuilder // .create (dbConfig.class.getClassloader ()) // .driverclassname (dbconfig.getDriver ()) .password (dbConfig.getPassword ()) ؛ // Return Factory.Build () ؛ إرجاع datasourceBuilder.create (). build () ؛ } //bean (name = "entityManagerPrimary") //primary // public entityManager entityManager (entityManagerFactoryBuilder Builder) {// return customerentityManagerFactory (builder) .getObject (). //} @bean (name = "entityManagerFactoryPrimary") primary public localcontainerentitymanagerfactorybean customerManageRfactory (entityManagerFactoryBuilder builder) {return Builder.datasource . } الخريطة الخاصة <string ، string> getVendorProperties (DataSource DataSource) {return jpaproperties.gethibernateProperties (DataSource) ؛ }}استيراد java.util.map ؛ استيراد javax.sql.datasource ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.beans.factory.annotation.qualifier ؛ استيراد org.springframework.boot.autoconfigure.orm.jpa.entityManagerFactoryBuilder ؛ استيراد org.springframework.boot.autoconfigure.orm.jpa.jpaproperties ؛ استيراد org.springframework.context.annotation.bean ؛ استيراد org.springframework.context.annotation.configuration ؛ استيراد org.springframework.data.jpa.repository.config.enableJparePositories ؛ استيراد org.springframework.orm.jpa.jpatransactionManager ؛ استيراد org.springframework.orm.jpa.localcontainerentityManagerFactorybean ؛ استيراد org.springframework.transaction.platformTransactionManager ؛ استيراد org.springframework.transaction.annotation.EnableTransActionManagement ؛ استيراد com.test.entity.manage.banner ؛ استيراد com.test.repository.manage.bannerrepository ؛ configuration enabletransactionmanagement enablejparepositories (entityManagerFactoryRef = "entityManageRfactorySecondary" ، TransactionManagerRef = "TransactionManagersecondary" ، basePackageClasses = {bannerRepository.class}) jpaproperties @AutoWired@Qualifier ("SecondaryDataSource") DataSource DataSource ؛ //bean (name = "entityManagerPrimary") //primary // public entityManager entityManager (entityManagerFactoryBuilder Builder) {// return customerentityManagerFactory (builder) .getObject (). //} @bean (name = "entityManagerFactorySecondary") publiccontainerentityManageRfactoryBean customerManageMerFactory (entityManagerFactoryBuilder Builder) .persistenceUnit ("العملاء") .build () ؛ } الخريطة الخاصة <string ، string> getVendorProperties (DataSource DataSource) {return jpaproperties.gethibernateProperties (DataSource) ؛ } bean (name = "TransactionManagersecondary") platformTransActionAgenager TransactionManagersecondary (entityManagerFactoryBuilder Builder) {return New JPatransActionManager (customerentityManagerFactory (builder) .getObject ()) ؛ }}استيراد org.springframework.data.jpa.repository.jparepository ؛ استيراد org.springframework.data.jpa.repository.modifypify ؛ استيراد org.springframework.data.jpa.repository.query ؛ استيراد com.test.entity.manage.banner ؛ الواجهة العامة BannerRepository يمتد JParePository <banner ، long> {modifypification Query ("تحديث banner m set m.name =؟ 1 أين m.id =؟ 2") تحديث الفراغ العام (سلسلة bannername ، معرف طويل) ؛ } 1.5.
总结
spring boot springjpa 支持多个数据源的实例代码 , 希望对大家有所帮助 , 如果大家有任何疑问请给我留言 , 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!