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

2 years ago
​
​
2 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
2 years ago
​
​
​
​
​
​
​
​
​
2 years ago
​
​
​
2 years ago
​
​
2 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
2 years ago
​
​
2 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
2 years ago
​
​
​
​
​
​
​
​
2 years ago
​
​
​
​
​
​
​
​
2 years ago
​
​
​
  1. package com.gcc.erppostdata.config;
  2. import jakarta.persistence.EntityManagerFactory;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.beans.factory.annotation.Qualifier;
  5. import org.springframework.boot.jdbc.DataSourceBuilder;
  6. import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.Configuration;
  9. import org.springframework.context.annotation.Primary;
  10. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  11. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  12. import org.springframework.orm.jpa.JpaTransactionManager;
  13. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  14. import org.springframework.transaction.PlatformTransactionManager;
  15. import org.springframework.transaction.annotation.EnableTransactionManagement;
  16. import javax.sql.DataSource;
  17. @Configuration
  18. @EnableTransactionManagement
  19. public class DatabaseConfig {
  20. @Autowired
  21. private AppConfig appConfig;
  22. // String chDb="communityhall_live";//communityhall_live
  23. // String petDb="gcc_pets";
  24. //
  25. // String mulPDb="coworkspace";
  26. // String swimDb="swimtesting";
  27. //
  28. // String userName="root";
  29. // String password="root";
  30. // String chDb= appConfig.getCmhDb();
  31. // String petDb= appConfig.getPetDb();
  32. //
  33. // String userName= appConfig.getUsername();
  34. // String password= appConfig.getPassword();
  35. @Configuration
  36. @EnableTransactionManagement
  37. @EnableJpaRepositories(
  38. basePackages = "com.gcc.erppostdata.petregistration",
  39. entityManagerFactoryRef = "petEntityManagerFactory",
  40. transactionManagerRef = "petTransactionManager"
  41. )
  42. public class MysqlpetDataSourceConfig {
  43. // String petDb="gcc_pets";
  44. @Primary
  45. @Bean(name = "mysqlPetRegistrationDataSource")
  46. public DataSource mysqlPetRegistrationDataSource() {
  47. System.out.println("AppConfig :---"+appConfig.getPetDb());
  48. return DataSourceBuilder.create()
  49. .url("jdbc:mysql://localhost:3306/"+appConfig.getPetDb())
  50. .username(appConfig.getUsername())
  51. .password(appConfig.getPassword())
  52. .driverClassName("com.mysql.cj.jdbc.Driver")
  53. .build();
  54. }
  55. @Primary
  56. @Bean(name = "petEntityManagerFactory")
  57. public LocalContainerEntityManagerFactoryBean petEntityManagerFactory(
  58. EntityManagerFactoryBuilder builder,
  59. DataSource mysqlPetRegistrationDataSource) {
  60. return builder
  61. .dataSource(mysqlPetRegistrationDataSource)
  62. .packages("com.gcc.erppostdata.petregistration")
  63. .persistenceUnit("petPU")
  64. .build();
  65. }
  66. @Primary
  67. @Bean(name = "petTransactionManager")
  68. public PlatformTransactionManager petTransactionManager(
  69. EntityManagerFactory petEntityManagerFactory) {
  70. return new JpaTransactionManager(petEntityManagerFactory);
  71. }
  72. }
  73. @Configuration
  74. @EnableTransactionManagement
  75. @EnableJpaRepositories(
  76. basePackages = "com.gcc.erppostdata.communityhall",
  77. entityManagerFactoryRef = "chEntityManagerFactory",
  78. transactionManagerRef = "chTransactionManager"
  79. )
  80. public class MysqlchDataSourceConfig {
  81. @Bean(name = "mysqlCommunityHallDataSource")
  82. public DataSource mysqlCommunityHallDataSource() {
  83. System.out.println("User Name:- "+appConfig.getUsername());
  84. System.out.println("Password :- "+appConfig.getPassword());
  85. return DataSourceBuilder.create()
  86. .url("jdbc:mysql://localhost:3306/"+appConfig.getCmhDb())
  87. .username(appConfig.getUsername())
  88. .password(appConfig.getPassword())
  89. .driverClassName("com.mysql.cj.jdbc.Driver")
  90. .build();
  91. }
  92. @Bean(name = "chEntityManagerFactory")
  93. public LocalContainerEntityManagerFactoryBean chEntityManagerFactory(
  94. EntityManagerFactoryBuilder builder,
  95. @Qualifier("mysqlCommunityHallDataSource") DataSource dataSource) {
  96. return builder
  97. .dataSource(dataSource)
  98. .packages("com.gcc.erppostdata.communityhall") // Package containing Community Hall entities
  99. .persistenceUnit("chPU")
  100. .build();
  101. }
  102. @Bean(name = "chTransactionManager")
  103. public PlatformTransactionManager chTransactionManager(
  104. @Qualifier("chEntityManagerFactory") EntityManagerFactory chEntityManagerFactory) {
  105. return new JpaTransactionManager(chEntityManagerFactory);
  106. }
  107. }
  108. @Bean(name = "mysqlSwimmingPoolDataSource")
  109. public DataSource mysqlSwimmingPoolDataSource() {
  110. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  111. dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
  112. dataSource.setUrl("jdbc:mysql://localhost:3306/"+appConfig.getSwimDb());
  113. dataSource.setUsername(appConfig.getUsername());
  114. dataSource.setPassword(appConfig.getPassword());
  115. return dataSource;
  116. }
  117. @Bean(name = "mysqlmudhalvarpadaipagamDataSource")
  118. public DataSource mysqlmudhalvarpadaipagamDataSource() {
  119. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  120. dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
  121. dataSource.setUrl("jdbc:mysql://localhost:3306/"+appConfig.getMulPDb());
  122. dataSource.setUsername(appConfig.getUsername());
  123. dataSource.setPassword(appConfig.getPassword());
  124. return dataSource;
  125. }
  126. @Bean(name = "mysqlerpPostData")
  127. public DataSource mysqlerpPostData() {
  128. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  129. dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
  130. dataSource.setUrl("jdbc:mysql://localhost:3306/erppostdata");
  131. dataSource.setUsername(appConfig.getUsername());
  132. dataSource.setPassword(appConfig.getPassword());
  133. return dataSource;
  134. }
  135. }