как передать connection в DAO

0
14 авг 2015 15:07
Добрый день.

У меня есть ДАО которая синглитон (инициализация происходит через Spring). У этой ДАО конструктор принимает Сonnection, который береться из пула в TomCat. Все работает отлично. Но сегодня я посмотрел одном видео в котором бородатый дядька сказал что PreparedStatement создаеться один на connection. А у меня в DAO 20 методов и все используют PreparedStatement. От сюда у меня вопрос правильно ли передавать в ДАО Сonnection через конструктор или же необходимо вызывать его в каждом методе да бы небыло проблем с PreparedStatement когда несколько потокол попробуют одновремеено вызвать разаные методы в моей ДАО ?

Ответов: 2

0
19 авг 2015 21:26
Каждое соеденение обходится относительно дорого для системы. Поэтому получать его в каждом методе не лучшее решение.
0
14 авг 2015 18:06
http://articles.javatalks.ru/articles/2
Здесь надо понимать так, что каждое соединение может хранить множество PreparedStatment, но по одному каждого вида. Т.е. если у Вас 20 методов с разными PreparedStatment и 5 соединений с БД, то всего будет использовано 100 PreperedStatment (при условии достаточно долгой работы приложения), по 20 на каждое соединение (не забудьте настроить кэширование).
Модераторы: Нет
Сейчас эту тему просматривают: Нет