Вопрос по java – Открытие соединения с базой данных в конструкторе, когда мне его закрыть?

3

ну, я думал о том, чтобы сделать запросы к базе данных немного быстрее, оставив соединение с базой данных открытым, пока объект используется. Поэтому я думал об открытии соединения в конструкторе этого класса. Теперь вопрос, как я могу закрыть соединение после того, как я перестал использовать? Я должен вызвать close () где-нибудь, не так ли? Я читал о методе finalize (), но люди, похоже, скептически относились к использованию этого метода где-либо вообще. Я ожидаю, что у него будет что-то вроде деструктора, но у Java его нет, так?

Так кто-нибудь может дать мне решение? Заранее спасибо.

finalize полезно только в том случае, если вы хотите автоматически освобождать не-Java-ресурсы. Соединение с базой данных, скорее всего, уже переопределеноfinalizeError: User Rate Limit ExceededThis java7 feature. Piotr Praszmo
Error: User Rate Limit ExceededIs there a destructor for Java? Raedwald

Ваш Ответ

2   ответа
4

Error: User Rate Limit ExceededError: User Rate Limit Exceeded, В соответствии с этим интерфейсом вам придется реализоватьvoid close() throws IOExceptionкоторый будут вызывать все клиенты класса, потому что это хорошая практика, чтобы закрытьCloseableError: User Rate Limit Exceeded

Error: User Rate Limit ExceededAutoCloseableError: User Rate Limit Exceeded
4

Я бы посоветовал вам реализовать пул соединений с базой данных, если приложение позволит это сделать. При пуле соединений будет создан пул соединений, который будет оставаться подключенным к базе данных. Затем ваше приложение получит открытое / неиспользуемое соединение из пула и использует его и вернет в пул.

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Похожие вопросы