springboot获取当前数据库连接

要获取当前 Spring DataSource 的 URL,可以通过以下几种方法:

方法一:使用 JdbcTemplate

如果你使用的是 Spring 的 JdbcTemplate,可以通过 javax.sql.DataSource 获取连接,再获取它的 URL。

示例代码:

java 复制代码
@Autowired
private DataSource dataSource;

public String getDataSourceUrl() throws SQLException {
    Connection connection = dataSource.getConnection();
    String url = connection.getMetaData().getURL();
    connection.close();
    return url;
}

方法二:使用 Environment 配置

如果使用的是 Spring Boot,可以直接从配置文件中读取 datasource 的 URL。

示例代码:

java 复制代码
@Autowired
private Environment env;

public String getDataSourceUrl() {
    return env.getProperty("spring.datasource.url");
}

方法三:通过 HikariDataSource

如果你使用的是 HikariCP 作为连接池,可以直接从 HikariDataSource 获取 URL。

示例代码:

java 复制代码
@Autowired
private HikariDataSource hikariDataSource;

public String getDataSourceUrl() {
    return hikariDataSource.getJdbcUrl();
}

总结

通过上述方法,可以在 Spring 应用中获取当前的 DataSource URL,具体选用哪种方法取决于你项目的具体配置和使用的连接池类型。

相关推荐
倔强的石头_11 小时前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横12 小时前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab1 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
用户3521802454751 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
昵称为空C1 天前
手撸一个动态 SQL 执行引擎:不重启服务,在线增删改查任意数据库
spring boot·后端
ClouGence1 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
于先生吖2 天前
SpringBoot对接大模型开发AI命理测算系统:八字排盘与AI解析接口源码全解
人工智能·spring boot·后端