Java 如何获取jdbcTemplate使用的当前连接对象
我正在寻找一种截获JDBCTemplate在内部创建的连接的方法,即JDBCTemplate调用函数Java 如何获取jdbcTemplate使用的当前连接对象,java,spring,jdbc,spring-jdbc,jdbctemplate,Java,Spring,Jdbc,Spring Jdbc,Jdbctemplate,我正在寻找一种截获JDBCTemplate在内部创建的连接的方法,即JDBCTemplate调用函数getConnection()时创建的连接 例如:如果我使用jdbcTemplate.update(查询)我想获取用于完成此update语句的连接的信息。有没有办法在执行此语句的过程中或执行后查看连接的元数据?我正在使用C3P0连接池 许多人建议使用DataSourceUtils.getConnection(),但这只是从池中获取一个新连接,并不能解决我的问题 这个帖子也有效地提出了同样的问题:我
getConnection()
时创建的连接
例如:如果我使用jdbcTemplate.update(查询)代码>我想获取用于完成此update语句的连接的信息。有没有办法在执行此语句的过程中或执行后查看连接的元数据?我正在使用C3P0连接池
许多人建议使用DataSourceUtils.getConnection()
,但这只是从池中获取一个新连接,并不能解决我的问题
这个帖子也有效地提出了同样的问题:我面临着同样的问题。我想知道模板用于更新或运行查询的当前连接。我测试了以下两种方法,但它们每次都返回新连接,而不是当前用于执行语句的连接
Connection conn = DataSourceUtils.getConnection(template.getDataSource());
Connection con=template.getDataSource().getConnection();
@Bean
public DataSource dataSource() throws NamingException {
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
DataSource dataSource = (javax.sql.DataSource) ctx.lookup(dsnName);
return dataSource;
}
通过使用上面的代码行,我们可以获取connection对象。,这将返回一个连接,但这是否就是jdbcTemplate用于下一个操作的连接?
jdbcTemplate.getDataSource().getConnection();