You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package com.gcc.erppostdata.config;
import jakarta.persistence.EntityManagerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.data.jpa.repository.config.EnableJpaRepositories;import org.springframework.jdbc.datasource.DriverManagerDataSource;import org.springframework.orm.jpa.JpaTransactionManager;import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.sql.DataSource;
@Configuration@EnableTransactionManagementpublic class DatabaseConfig {
@Autowired private AppConfig appConfig;
// String chDb="communityhall_live";//communityhall_live
// String petDb="gcc_pets";
//
// String mulPDb="coworkspace";
// String swimDb="swimtesting";
//
// String userName="root";
// String password="root";
// String chDb= appConfig.getCmhDb();
// String petDb= appConfig.getPetDb();
//
// String userName= appConfig.getUsername();
// String password= appConfig.getPassword();
@Configuration @EnableTransactionManagement @EnableJpaRepositories( basePackages = "com.gcc.erppostdata.petregistration", entityManagerFactoryRef = "petEntityManagerFactory", transactionManagerRef = "petTransactionManager" ) public class MysqlpetDataSourceConfig {
// String petDb="gcc_pets";
@Primary @Bean(name = "mysqlPetRegistrationDataSource") public DataSource mysqlPetRegistrationDataSource() { System.out.println("AppConfig :---"+appConfig.getPetDb());
return DataSourceBuilder.create() .url("jdbc:mysql://localhost:3306/"+appConfig.getPetDb()) .username(appConfig.getUsername()) .password(appConfig.getPassword()) .driverClassName("com.mysql.cj.jdbc.Driver") .build(); }
@Primary @Bean(name = "petEntityManagerFactory") public LocalContainerEntityManagerFactoryBean petEntityManagerFactory( EntityManagerFactoryBuilder builder, DataSource mysqlPetRegistrationDataSource) { return builder .dataSource(mysqlPetRegistrationDataSource) .packages("com.gcc.erppostdata.petregistration") .persistenceUnit("petPU") .build(); }
@Primary @Bean(name = "petTransactionManager") public PlatformTransactionManager petTransactionManager( EntityManagerFactory petEntityManagerFactory) { return new JpaTransactionManager(petEntityManagerFactory); } } @Configuration @EnableTransactionManagement @EnableJpaRepositories( basePackages = "com.gcc.erppostdata.communityhall", entityManagerFactoryRef = "chEntityManagerFactory", transactionManagerRef = "chTransactionManager" ) public class MysqlchDataSourceConfig {
@Bean(name = "mysqlCommunityHallDataSource") public DataSource mysqlCommunityHallDataSource() { System.out.println("User Name:- "+appConfig.getUsername()); System.out.println("Password :- "+appConfig.getPassword()); return DataSourceBuilder.create() .url("jdbc:mysql://localhost:3306/"+appConfig.getCmhDb()) .username(appConfig.getUsername()) .password(appConfig.getPassword()) .driverClassName("com.mysql.cj.jdbc.Driver") .build(); }
@Bean(name = "chEntityManagerFactory") public LocalContainerEntityManagerFactoryBean chEntityManagerFactory( EntityManagerFactoryBuilder builder, @Qualifier("mysqlCommunityHallDataSource") DataSource dataSource) { return builder .dataSource(dataSource) .packages("com.gcc.erppostdata.communityhall") // Package containing Community Hall entities
.persistenceUnit("chPU") .build(); }
@Bean(name = "chTransactionManager") public PlatformTransactionManager chTransactionManager( @Qualifier("chEntityManagerFactory") EntityManagerFactory chEntityManagerFactory) { return new JpaTransactionManager(chEntityManagerFactory); }
} @Bean(name = "mysqlSwimmingPoolDataSource") public DataSource mysqlSwimmingPoolDataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/"+appConfig.getSwimDb()); dataSource.setUsername(appConfig.getUsername()); dataSource.setPassword(appConfig.getPassword()); return dataSource; }
@Bean(name = "mysqlmudhalvarpadaipagamDataSource") public DataSource mysqlmudhalvarpadaipagamDataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/"+appConfig.getMulPDb()); dataSource.setUsername(appConfig.getUsername()); dataSource.setPassword(appConfig.getPassword()); return dataSource; }
@Bean(name = "mysqlerpPostData") public DataSource mysqlerpPostData() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/erppostdata"); dataSource.setUsername(appConfig.getUsername()); dataSource.setPassword(appConfig.getPassword()); return dataSource; }
}
|