JdbcTemplate中的exectue和queryForList方法的性能对比

@Autowired
JdbcTemplate jdbcParam;

pstm =
                jdbcParam.getDataSource()
                    .getConnection()
                    .prepareStatement(" SELECT T.ID, T.EPARCHY_CODE FROM  TD_B_SPECIALID_HOME T WHERE T.ID_TYPE = 2 ");
            result = pstm.executeQuery();
            long acctId;
            String eparchyCode;
            while (result.next())
            {
                acctId = result.getLong("ID");
                eparchyCode = result.getString("EPARCHY_CODE");
                specialAcctIdWithEparchyCodeMap.put(acctId, eparchyCode);
            }
        }
        catch (Exception e)
        {
            logger.error("run initSpecialAcctIdWithEparchyCodeMap error.", e);
        }
        finally
        {
            try
            {
                if (!result.isClosed())
                {
                    result.close();
                }
            }
            catch (SQLException e)
            {
                logger.error("Can not close resultset conn.", e);
            }
            finally
            {
                try
                {
                    if (!pstm.isClosed())
                    {
                        pstm.close();
                    }
                }
                catch (SQLException e)
                {
                    logger.error("Can not close preparedstatment conn.", e);
                }
            }
        }

以上代码:需要打开preparedStatement和ResultSet连接,影响性能

而用jdbcParam.queryForList(sql,new Object[]{},Integer.class);

不需要做打开连接关闭连接动作,直接由spring容器管理,性能提升不少。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值