从DynamicDataSource获取数据库url
时间: 2024-03-02 18:48:13 浏览: 19
从 DynamicDataSource 动态数据源中获取当前数据源的 URL,可以通过以下方式实现:
```java
// 获取当前数据源
DynamicDataSource dynamicDataSource = (DynamicDataSource) dataSource;
// 获取当前数据源的 URL
String url = dynamicDataSource.getUrl();
```
以上代码中,先将 `dataSource` 强制转换为 `DynamicDataSource` 类型,然后通过 `dynamicDataSource.getUrl()` 方法获取当前数据源的 URL。
需要注意的是,这种方式获取的是当前数据源的 URL,如果需要获取其他数据源的 URL,需要先切换数据源,例如:
```java
// 切换到 master 数据源
DynamicDataSourceContextHolder.setDataSource("master");
DynamicDataSource dynamicDataSource = (DynamicDataSource) dataSource;
String masterUrl = dynamicDataSource.getUrl();
// 切换到 slave 数据源
DynamicDataSourceContextHolder.setDataSource("slave");
dynamicDataSource = (DynamicDataSource) dataSource;
String slaveUrl = dynamicDataSource.getUrl();
```
以上代码中,通过 `DynamicDataSourceContextHolder.setDataSource()` 方法切换数据源,然后再获取对应数据源的 URL。