Импорт 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 [] args) {SpringApplication App = New SpressApplication (Application.class); app.run (args); //Springapplication.run(application.class, args); } @Override Protected SpringApplicationBuilder configure (SpressApplicationBuilder Application) {return Application.sources (application.class); }}импортировать java.util.map; импортировать javax.sql.datasource; Импорт org.springframework.beans.factory.annotation.autowired; Импорт org.springframework.boot.autoconfigure.jdbc.datasourcebuilder; Import org.springframework.boot.autoconfigure.orm.jpa.entityManagerFactoryBuilder; Импорт org.springframework.boot.autoconfigure.orm.jpa.jpaproperties; Import org.springframework.boot.context.properties.configurationProperties; Импорт org.springframework.context.annotation.bean; Импорт org.springframework.context.annotation.configuration; Импорт org.springframework.context.annotation.primary; Import 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 // private dbconfig dbconfig; @Autowired private jpaproperties jpaproperties; @Bean (name = "primaryDatasource") @primary @ConfigurationProperties (prefix = "dataSource.primary") public DataSource primaryDataSource () {System.out.println ("--------------------------------------------- init -----------------"); return DataSourceBuilder.Create (). Build (); } @Bean (name = "SecondataryDataSource") @ConfigurationProperties (prefix = "DataSource.se-Secondation") Public DataSource SecondataryDatasource () {System.out.println ("----------------------------------- init ------------------"); // DataSourceBuilder Factory = DataSourceBuilder // .create (dbconfig.class.getClassloader ()) // .driverClassname (dbconfig.getdriver ()) // .Url (dbconfig.geturl () //. .Password (dbconfig.getPassword ()); // return factory.build (); return DataSourceBuilder.Create (). Build (); } // @bean (name = "EntityManagerPrimary") // @primary // public EntityManager EntityManager (EntityManagerFactoryBuilder Builder) {// return CustomerEntityMagerFactory (Builder) .getObject (). CreateTityManager (); //} @bean (name = "entitymanagerfactoryprimary") @primary public containerentitymanagerfactorybean customerentitymanagerfactory (EntityManagerFactoryBuilder Builder) {return Builder.datasource (PrimaryDatasource ()). Пропертизации (getVendorPerties (primaryDatasource ()). Properperties (getVendorPerties (primaryDatasource). .packages (sysuser.class) .persistenceunit ("System") .build (); } частная карта <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; Import org.springframework.boot.autoconfigure.orm.jpa.entityManagerFactoryBuilder; Импорт org.springframework.boot.autoconfigure.orm.jpa.jpaproperties; Импорт org.springframework.context.annotation.bean; Импорт org.springframework.context.annotation.configuration; Import 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 = "EntityManagerFactorySecondation", TransactionManagerRef = "TransactionManagerSecondation", BasePackageCclass = {bannerRepository.class}) public classemfconfigers = {@autowried Quarporperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies jpaperies. @Autowired@Qualifier ("Secondatardatasource") частное дат данных; // @bean (name = "EntityManagerPrimary") // @primary // public EntityManager EntityManager (EntityManagerFactoryBuilder Builder) {// return CustomerTityManagerFactory (Builder) .getObject (). CreateTityManager (); //} @bean (name = "EntityManagerFactorySecondary") PublicContaInterentityManagerFactoryBean CustomerTityManagerFactory (EntityManagerFactoryBuilder Builder) {return Builder.datasource (dataSource) .properties (GetVendorPerties (dataSource). .persistenceUnit («клиенты») .build (); } частная карта <string, string> getVendorProperties (DataSource DataSource) {return jpaproPerties.gethibernateProperties (dataSource); } @Bean (name = "TransactionManagerSecondary") PlatformTransactionManager TransactionManagerSecondary (EntityManagerFactoryBuilder Builder) {return new JPatransActionManager (CustomerTityManagerFactory (Builder) .getObject ()); }}Импорт org.springframework.data.jpa.repository.jparePository; Import org.springframework.data.jpa.Repository.modifing; Импорт org.springframework.data.jpa.repository.query; Импорт com.test.entity.manage.banner; Общественный интерфейс BannerRepository Extends jParePository <banner, long> {@modifying @Query ("Обновление баннера m set m.name =? 1 где m.id =? 2") Общественное обновление void (строка BannerName, Long Id); } 1.5.
总结
以上所述是小编给大家介绍的 Spring Boot Springjpa 支持多个数据源的实例代码 希望对大家有所帮助 , 如果大家有任何疑问请给我留言 , 小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!