Spring的JdbcTemplate使用,是否还需要手工或者aop指定关闭conn连接( 使用JdbcTemplate是否需要关闭连接)

Spring的JdbcTemplate在执行数据库操作时,会自动管理Connection的生命周期。在execute方法中,它创建PreparedStatement,执行回调操作并确保在出现异常或正常完成后释放并关闭连接。因此,在使用JdbcTemplate时,通常不需要手动或通过AOP来关闭连接。
摘要由CSDN通过智能技术生成

JdbcTemplate类使用DataSource得到一个数据库连接。然后,他调用StatementCreator实例创建要执行的语句。下一步,他调用StatementCallBack完成。
一旦StatementCallBack返回结果,JdbcTemplate类完成所有必要清理工作关闭连接。如果StatementCreator或StatementCallBack抛出异常,JdbcTemplate类会捕获他们,并转换为Spring数据访问异常。




看一个JdbcTemplate里面的比较核心的一个方法: 

  1. //-------------------------------------------------------------------------  
  2. // Methods dealing with prepared statements  
  3. //-------------------------------------------------------------------------  
  4.   
  5. public Object execute(PreparedStatementCreator psc, PreparedStatementCallback action)  
  6.         throws DataAccessException {  
  7.   
  8.     Assert.notNull(psc, "PreparedStatementCreator must not be null");  
  9.     Assert.notNull(action, "Callback object must not be null");  
  10.     if (logger.isDebugEnabled()) {  
  11.         String sql = getSql(psc);  
  12.         logger.debug("Executing prepared SQL statement" + (sql != null ? " [" + sql + "]" : ""));  
  13.     }  
  14.   
  15.     Connection con = DataSourceUtils.getConnection(getDataSource());  
  16.     PreparedStatement ps = null;  
  17.     try {  
  18.         Connection conToUse = con;  
  19.         if (this.nativeJdbcExtractor != null &&  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值