Следуйте рекомендациям по созданию шаблона проектирования.т.е. частный конструктор и т. д.
Должно ли соединение БД быть одноэлементным (будучи одноэлементным, оно автоматически поточно-ориентировано)?быть плохим выбором дизайна во многих сценариях.Используйте его, только если вы уверены, что вам не нужен параллелизм БД.Если у вас есть несколько пользователей, вошедших в систему одновременно, или даже если ваш единственный пользователь порождает много потоков, которым требуется доступ к БД, тогда пул соединений с БД - лучший выбор.Вы можете использовать пулы соединений apache или tomcat db.Эти классы определены, например, в пакете
org.apache.commons.dbcp.*;
org.apache.tomcat.dbcp.dbcp.*;
, где dbcp обозначает пул соединений с базой данных.
Самая большая причина для использования пула соединений заключается в том, что в среднем время, необходимое дляДоступ к БД (DML и т. Д.) Намного меньше, чем время, необходимое для создания и закрытия соединения.Кроме того, не забудьте закрыть переменные ResultSet, PreparedStatement и Connection после завершения транзакции.
Поскольку теоретически к БД не могут обращаться многие пользователи одновременно.
Почему бы и нет?БД в большинстве случаев предназначена для одновременного использования.У вас есть эти уровни изоляции БД - READ_COMMITTED, READ_UNCOMMITTED, SERIALIZED и т. Д. SERIALIZED - это случай, когда ваша БД становится однопользовательским доступом.