2010-06-24 3 views
5

Я хочу получить JdbcTemplate в своем Java-коде. У меня уже есть рабочий java.sql.Connection. Для создания нового JdbcTemplate обычно требуется экземпляр интерфейса javax.sql.DataSource.Создание экземпляра JdbcTemplate из java.sql.Connection

Возможно ли получить новый JdbcTemplate от существующего java.sql.Connection?

ответ

21

Технически, вы можете, используя SingleConnectionDataSource

new JdbcTemplate(new SingleConnectionDataSource(connection, false))

Однако, это не совсем целесообразно, если для юнит-тестов, например.

Лучше использовать полнофункциональный DataSource и прокладывать провода с помощью пружины.

+0

Спасибо за работу, но тем не менее я закончил ее реализацию в моем контексте приложения. – 2010-06-24 10:36:20

+0

+1 Это имеет смысл в глубине души в каком-то кодеке моего гибернатного слушателя, где у меня уже есть текущее открытое соединение в моей руке. –

2

Нет, JdcbTemplate - класс весны; Соединение является частью JDK. Соединение ничего не знает о JdbcTemplate.

Способ сделать это, чтобы добавить компонент JdbcTemplate в контекст приложения Spring; затем вводите его в классы, которые нуждаются в нем декларативно.

Смежные вопросы