如何获取jdbcTemplate当前使用的Connection对象

Utk*_*har 7 java spring jdbc spring-jdbc jdbctemplate

我正在寻找一种方法来拦截 JDBCTemplate 内部创建的连接,即getConnection()JDBCTemplate 调用该函数时创建的连接。

例如:如果我使用jdbcTemplate.update(query);我想获取用于完成此更新语句的连接的信息。有没有办法查看该语句执行中或执行后连接的元数据?我正在使用 C3P0 连接池。

许多人建议使用DataSourceUtils.getConnection(),但这只是从池中获取新连接,并不能解决我的问题。

该线程还有效地提出了同样的问题:How to get current Connection object in Spring JDBC

小智 4

jdbcTemplate.getDataSource().getConnection();
Run Code Online (Sandbox Code Playgroud)

通过使用上面的行,我们可以获取连接对象。

  • 这将返回 *a* 连接,但这是否与 jdbcTemplate 用于其下一个操作的连接相同? (2认同)