springboot如何连接两个sqlsever数据库
时间: 2024-05-30 20:12:44 浏览: 11
可以使用Spring Boot的多数据源配置来连接两个SQL Server数据库。具体步骤是:
1. 在application.properties文件中配置两个数据源的连接信息,例如:
spring.datasource.primary.url=jdbc:sqlserver://localhost:1433/primary_database
spring.datasource.primary.username=primary_user
spring.datasource.primary.password=primary_password
spring.datasource.secondary.url=jdbc:sqlserver://localhost:1433/secondary_database
spring.datasource.secondary.username=secondary_user
spring.datasource.secondary.password=secondary_password
2. 在代码中使用@Primary注解标识主数据源,通过@Qualifier注解指定要使用的数据源,例如:
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
@Service
public class UserService {
@Autowired
@Qualifier("primaryDataSource")
private DataSource primaryDataSource;
@Autowired
@Qualifier("secondaryDataSource")
private DataSource secondaryDataSource;
public void saveUser(User user) {
// 在主数据源中保存用户数据
JdbcTemplate jdbcTemplate1 = new JdbcTemplate(primaryDataSource);
jdbcTemplate1.update("INSERT INTO user(name, age) VALUES (?, ?)", user.getName(), user.getAge());
// 在副数据源中保存用户数据
JdbcTemplate jdbcTemplate2 = new JdbcTemplate(secondaryDataSource);
jdbcTemplate2.update("INSERT INTO user(name, age) VALUES (?, ?)", user.getName(), user.getAge());
}
}
注意:以上代码只是示例,实际使用时需要根据具体情况进行调整。