spring如何连接多个数据库
在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 getUsersFromDataSource1();
@Qualifier("dataSource2")
@Select("SELECT * FROM user")
List getUsersFromDataSource2();
} @Service注解的服务类中注入UserMapper接口,并调用相应的方法便可。@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List getUsersFromDataSource1() {
return userMapper.getUsersFromDataSource1();
}
public List getUsersFromDataSource2() {
return userMapper.getUsersFromDataSource2();
}
} 这样,就能够通过区分的数据源连接和操作多个数据库了。
TOP