从java.sql.Connection实例化一个JdbcTemplate

11

我想在我的Java代码中获取一个JdbcTemplate。我已经有一个可以工作的java.sql.Connection。要创建一个新的JdbcTemplate通常需要实例化javax.sql.DataSource接口。

是否可以通过现有的java.sql.Connection获取一个新的JdbcTemplate

2个回答

34

从技术上讲,你可以使用SingleConnectionDataSource来实现。

new JdbcTemplate(new SingleConnectionDataSource(connection, false))

然而,这不是很推荐,除非是用于单元测试等情况。

最好是使用一种功能齐全的DataSource并使用Spring进行连接。


谢谢你提供的解决方法,但我最终还是在我的应用程序环境中实现了它。 - user321068
1
+1 这在我的一些 Hibernate 监听器代码中深层次地很有意义,因为我已经掌握了当前打开的连接。 - Stefan Haberl

2
不,JdbcTemplate是Spring框架中的一个类;而Connection则是JDK的一部分。Connection并不知道JdbcTemplate。
正确的做法是在你的Spring应用程序上下文中添加一个JdbcTemplate bean,然后通过声明性注入将其注入到需要它的类中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接