Spring的JdbcTemplate会在查询超时后关闭连接吗?

use*_*662 14 java database spring jdbc jdbctemplate

我在insert语句的方法中设置了查询超时(getJdbcTemplate().setQueryTimeout(5)).查询超时后会发生什么,jdbc模板是否会关闭我的连接?

M. *_*num 16

简而言之,它确实关闭了连接.这取决于它的长期答案.

如果您没有Spring托管事务,那么JdbcTemplate将调用该close()方法Connection.但是,如果已经有一个连接可用由于泉事务管理关闭连接将通过弹簧事务支持,这反过来也将调用处理close()上Connection.

唯一的区别是连接关闭但close()将被调用.

如果实际关闭连接取决于使用哪个DataSource连接,通常在使用连接池时,连接将返回到池而不是实际关闭连接.


Abh*_*and 9

是的,它确实。

如果连接是从连接池中获取的,它实际上不会关闭连接,而是会将其发送回池中。

  • 它是如何实施的? (2认同)

小智 6

无需手动关闭连接。Spring容器本身来照顾操作。请参考这个 spring 文档:

https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#jdbc