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.
156 lines
6.2 KiB
156 lines
6.2 KiB
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
|
|
@EnableTransactionManagement
|
|
public 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;
|
|
}
|
|
|
|
}
|