Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取jdbcTemplate使用的当前连接对象_Java_Spring_Jdbc_Spring Jdbc_Jdbctemplate - Fatal编程技术网

Java 如何获取jdbcTemplate使用的当前连接对象

Java 如何获取jdbcTemplate使用的当前连接对象,java,spring,jdbc,spring-jdbc,jdbctemplate,Java,Spring,Jdbc,Spring Jdbc,Jdbctemplate,我正在寻找一种截获JDBCTemplate在内部创建的连接的方法,即JDBCTemplate调用函数getConnection()时创建的连接 例如:如果我使用jdbcTemplate.update(查询)我想获取用于完成此update语句的连接的信息。有没有办法在执行此语句的过程中或执行后查看连接的元数据?我正在使用C3P0连接池 许多人建议使用DataSourceUtils.getConnection(),但这只是从池中获取一个新连接,并不能解决我的问题 这个帖子也有效地提出了同样的问题:我

我正在寻找一种截获JDBCTemplate在内部创建的连接的方法,即JDBCTemplate调用函数
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();