JDBC MVC - способы совместного использования экземпляров подключения к БД в методах репозитория - PullRequest
0 голосов
/ 09 октября 2011

Я создаю веб-приложение на основе MVC, каждый агрегат моделей имеет свой собственный репозиторий.Репозитории извлекают данные из базы данных MySQL.

Мне трудно решить, как реализовать различные методы репозиториев, в основном потому, что я хочу иметь возможность выполнять последовательные запросы в одном подключении к базе данных (каквместо создания нового соединения в каждом теле метода и закрытия его в конце метода).

Один из способов совместного использования экземпляра соединения БД между двумя последовательными методами репозитория - передача экземплярауже созданное соединение с БД (которое создается вне хранилища) в качестве аргумента для метода хранилища.Очевидно, что эта реализация пахнет совершенно неправильно с точки зрения дизайна.

Другой подход будет иметь одноэлементный пул подключений к БД или какой-то фабрики, которые будут использовать репозитории, и иметь возможность специально создавать новое соединениеесли хотите.

Мне было интересно, есть ли у вас, ребята, какие-либо другие советы по дизайну для вышеуказанного вопроса ...

1 Ответ

1 голос
/ 09 октября 2011

Это все решаемо.Не пиши это сам.Используйте библиотеку пулов соединений, которая обеспечивает реализацию источника данных, например DBCP .Это заботится о повторном использовании соединения.Используйте JdbcTemplate Spring для обработки всех открытий и закрытий для вас.Затем примените декларативное управление транзакциями поверх него, и вы фактически получите соединение на запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...