Здесь приведено несколько советов: пожалуйста, изолируйте код на основе БД от «слоя данных», так сказать ... выполняйте только диспетчеризацию / бизнес-логику внутри ваших классов ресурсов.
Теперь, если вы запрашиваете другую таблицу, у вас будет другой запрос! Вы можете использовать одно и то же соединение (плохое) или создать новое и запустить другой запрос (ы).
Теперь, каждый ли ресурс обращается к другой таблице или к той же таблице с другим запросом, зависит от вашего выбора «представления» для этого ресурса. Есть причина, по которой схема RDB имеет несколько таблиц, и довольно часто у вас будет другой запрос, включающий несколько таблиц или взаимно независимых таблиц.
Проблемы с производительностью: для «свежих данных» вы всегда будете обращаться к БД, так сказать. Если вы хотите оптимизировать этот процесс или разработать собственный кеш (чрезвычайно сложный) или использовать такие подходы, как memcached или ehcache для повышения производительности - прежде чем вы решите это сделать, убедитесь, что вы проверяете, стоит ли это.
У вас будет около 1000 ударов в секунду? Вы, вероятно, нуждаетесь в некотором повышении производительности / обработке. За день ... может и нет. За 2-3 дня ... ЯГНИ (Тебе это не понадобится, так что пока не волнуйся)
Итак, для каждого «ресурса», который вы разрабатываете в своем приложении (логин НЕ является ресурсом: см. Соответствующий пост: Почему аутентификация на основе форм НЕ считается RESTful? ), выберите представление. Это может включать разные запросы и т. Д., Чтобы вы возвращали json / xml / xhtml (что бы вы ни выбрали). Каждый «вызов, связанный с БД» должен быть изолирован в своем собственном «слое данных» - я предлагаю использовать Spring JDBC, чтобы сделать вашу жизнь проще. Это снимет с вас бремя JDBC, и вы сможете сосредоточиться на создании своих DAO (объектов доступа к данным - паттерна для классов доступа к данным. Все DAO логически относятся к уровню данных)
Надеюсь, это поможет