温馨提示×

spring怎么连接多个数据库

小亿
172
2023-10-19 21:32:00
栏目: 大数据

在Spring中,可以使用多个数据源来连接多个数据库。下面是一些步骤:

  1. application.propertiesapplication.yml文件中配置多个数据源的连接信息。例如,可以为每个数据源定义不同的datasource.urldatasource.usernamedatasource.password等属性。

  2. 创建多个数据源的配置类。可以创建多个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.propertiesapplication.yml文件中读取以prefix开头的属性值,并自动装配到对应的bean中。

  1. @Mapper注解的接口中使用@Qualifier注解指定使用哪个数据源。例如:
@Mapper
public interface UserMapper {
@Qualifier("dataSource1")
@Select("SELECT * FROM user")
List<User> getUsersFromDataSource1();
@Qualifier("dataSource2")
@Select("SELECT * FROM user")
List<User> getUsersFromDataSource2();
}
  1. @Service注解的服务类中注入UserMapper接口,并调用相应的方法即可。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsersFromDataSource1() {
return userMapper.getUsersFromDataSource1();
}
public List<User> getUsersFromDataSource2() {
return userMapper.getUsersFromDataSource2();
}
}

这样,就可以通过不同的数据源连接和操作多个数据库了。

0