springboot中一条sql语句给两个数据库执行
时间: 2023-06-25 08:04:36 浏览: 164
可以使用Spring Boot的多数据源配置来实现一条SQL语句给两个数据库执行的功能。在application.yml文件中配置多个数据源,例如:
```
spring:
datasource:
primary:
url: jdbc:mysql://localhost:3306/primary_db
username: primary_user
password: primary_password
secondary:
url: jdbc:mysql://localhost:3306/secondary_db
username: secondary_user
password: secondary_password
```
然后在代码中使用@Qualifier注解指定数据源,例如:
```
@Autowired
@Qualifier("primary")
private DataSource primaryDataSource;
@Autowired
@Qualifier("secondary")
private DataSource secondaryDataSource;
@Transactional
public void executeSql(String sql) {
Connection primaryConn = primaryDataSource.getConnection();
Connection secondaryConn = secondaryDataSource.getConnection();
Statement stmt1 = primaryConn.createStatement();
Statement stmt2 = secondaryConn.createStatement();
stmt1.executeUpdate(sql);
stmt2.executeUpdate(sql);
stmt1.close();
stmt2.close();
primaryConn.close();
secondaryConn.close();
}
```
以上代码中,首先通过@Qualifier注解注入不同的数据源,然后使用getConnection方法获取不同的连接,创建Statement对象执行SQL语句,最后关闭连接和Statement对象。需要注意的是,以上代码仅供参考,具体实现需要根据业务场景进行调整。
阅读全文