在Spring中,可以使用多个数据源来连接多个数据库。下面是一些步骤:
在application.properties
或application.yml
文件中配置多个数据源的连接信息。例如,可以为每个数据源定义不同的datasource.url
、datasource.username
和datasource.password
等属性。
创建多个数据源的配置类。可以创建多个DataSource
的bean,每个bean对应一个数据源。可以使用@Configuration
注解来标记该类。
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "datasource1")
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix = "datasource2")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
}
注意:@ConfigurationProperties
注解可以从application.properties
或application.yml
文件中读取以prefix
开头的属性值,并自动装配到对应的bean中。
@Mapper
注解的接口中使用@Qualifier
注解指定使用哪个数据源。例如:@Mapper
public interface UserMapper {
@Qualifier("dataSource1")
@Select("SELECT * FROM user")
List<User> getUsersFromDataSource1();
@Qualifier("dataSource2")
@Select("SELECT * FROM user")
List<User> getUsersFromDataSource2();
}
@Service
注解的服务类中注入UserMapper
接口,并调用相应的方法即可。@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsersFromDataSource1() {
return userMapper.getUsersFromDataSource1();
}
public List<User> getUsersFromDataSource2() {
return userMapper.getUsersFromDataSource2();
}
}
这样,就可以通过不同的数据源连接和操作多个数据库了。