当前位置: 首页 > 知识库问答 >
问题:

将Jdbc模板与DataSourceUtils一起使用。getConnection方法

孙震博
2023-03-14

我不确定下面是使用Jdbc模板和DataSourceUtils在连接池环境中管理db连接的正确方法。getConnection。

我所做的:

>

<代码>

在DAOImpl中,在该方法中,我们必须使用html" target="_blank">自定义SQL数据类型调用存储过程。因此,我们需要获取相同的连接对象。我们得到的连接如下:

<代码>此。连接=DataSourceUtils。getConnection(jdbcTemplate.getDataSource())

其中DataSourceUtils是这里描述的Spring实现。

上述配置在本地运行良好,但我们对此程序的以下方面有点担心:

  • 如果我们以这种方式访问连接,它会覆盖appconfig文件中的连池机制吗?
  • 根据这里的文档,DataSourceUtils.get连接(DataSource dataSource)将重用现有连接。所以我假设这不会破坏通过JdbcTemplate和dbcp对象创建的任何连接。
  • 无需显式释放此连接,因为它由jdbcTemplate管理。

我对上述各项不太确定。需要一些专家意见。

共有2个答案

崔单弓
2023-03-14

Spring JDBC为使用自定义SQL数据类型调用存储过程提供了各种实用程序

  • jd bc操作#调用
  • 简单的Jd bc调用
  • 通用存储过程
  • 子类存储过程
乐正洲
2023-03-14

我建议使用JdbcTemplate#execute(ConnectionCallback操作)方法。这允许您访问连接,同时仍然利用Spring的资源和异常管理功能。您只需要实现doInConnection回调方法。

jdbcTemplate.execute(new ConnectionCallback<Object>() {
    @Override
    public Object doInConnection(Connection connection) 
            throws SQLException, DataAccessException {

         // do your processing here

        return null;
    }
});
 类似资料:
  • 我正在使用boilerpipe从html中获取文本。然而,有一些问题我还没有解决。我有一个50k元素的列表。我正在创建一个包含1000个元素的rdd,然后对它们进行处理,并将结果rdd保存在hdfs中。我遇到的错误是: 在hdfs文件中,前1000个元素的结果被保存,但继续下去会抛出上述错误。这个问题有什么解决办法?

  • 问题内容: 我有一个Flask网站,并且想使用AngularJS JavaScript框架。不幸的是,似乎分隔符重叠。 如果两个都依赖于双花括号(),如何将Angular与Jinja2配合使用?可能吗 问题答案: 您有一些选择。 1)更改Angular的定界符表示法: 无论选择什么作为开始和结束符号,都将充当新的分隔符。在这种情况下,您可以使用将变量表示为Angular 。 这种方法的优点是只需要

  • (...)“m”不约束类型(...)

  • 问题内容: 我正在尝试将包与我的sequelize模型一起使用,并试图遵循将散列合并到模型中的教程,但是在遇到错误。我似乎无法弄清楚这个问题。有没有更好的方法来合并bcrypt? 错误: 模型: 问题答案: 应在以下方法的“选项”自变量中提供方法

  • 问题内容: 考虑以下代码段: 显然不知道可以将a馈送到需要的方法(实际上,它的文档说它在寻找 具有指定名称和形式参数完全相同的方法 )。 是否有一种直接的方法来像上面那样以反射方式查找方法,但是要考虑多态性,以便上述反射示例在查询参数时可以找到该方法? 问题答案: 该反射教程 建议使用样本进行查找

  • 问题内容: 我刚刚开始学习Java流,并遇到了问题。请看下面的例子。这是Node类的一部分: 我的意图是在流中的每个节点上使用名称和结果参数调用#findChildren。我尝试使用方法引用Node :: findChildren时没有运气。我将不胜感激的解决方案与运营商。 是否可以将方法引用与参数一起使用?我喜欢流的想法,我只想使代码更具可读性。 实际上,我认为还有一个类似的问题,方法引用具有读