Spring Bootでマスタースレーブデータベースを設定する方法は何ですか?
Spring Bootでのマスタースレーブデータベースの設定は、application.propertiesファイル内で複数のデータソースを設定することで実現できます。以下はその例です:
1、application.propertiesでメインのデータソースを設定する。
spring.datasource.url=jdbc:mysql://localhost:3306/main_db
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
2、application.propertiesファイルでデータソースを設定する。
spring.datasource.secondary.url=jdbc:mysql://localhost:3306/secondary_db
spring.datasource.secondary.username=root
spring.datasource.secondary.password=password
spring.datasource.secondary.driver-class-name=com.mysql.cj.jdbc.Driver
3、複数のデータソースの設定を定義するための設定クラスを作成します。
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "mainDataSource")
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource mainDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
4、データソースをリポジトリに指定します。
@Repository
public class MainRepository {
@Autowired
@Qualifier("mainDataSource")
private DataSource dataSource;
// Repository methods
}
@Repository
public class SecondaryRepository {
@Autowired
@Qualifier("secondaryDataSource")
private DataSource dataSource;
// Repository methods
}
Spring Bootでマスタースレーブデータベースを設定し、Repositoryで異なるデータソースを使用して操作する方法を説明します。