2015-10-29 3 views
2

Я довольно зеленый для СУБД, и мне нужно написать программу Java, используя JDBC для взаимодействия с файлом базы данных Access. Я задаюсь вопросом, лучше ли, или даже возможно, инициализировать подключение в основном и передать его каждому методу по мере необходимости (закрыв его после запуска программы) или открыть и закрыть новое соединение в каждом отдельном методе.Могу ли я передать объект Connection в функции?

Извините, если это повторение, но ни один из вопросов/ответов, которые я нашел на этом, не был окончательным.

ответ

0

Открытие соединения занимает довольно много времени. Вы должны использовать одно и то же соединение через свою программу, если нет особых причин для его закрытия.

Существует даже специальная техника под названием connection pooling, которая позволяет повторно использовать открытые соединения в больших приложениях, что повышает производительность.

+0

Ну, я мало знаю о доступе к базе данных, поэтому я не знаю, как может выглядеть «особая причина». – PeterSon

+0

Особой причиной может быть, например, ошибка подключения или выключение базы данных. – user5500105

+0

Gotcha, думаю, я просто открою и закрою его один раз в главном, так как это не так, как эта программа когда-либо будет использоваться в дикой природе. Большое спасибо – PeterSon

0

Я думаю, что создание единого объекта соединения является лучшим способом, поскольку вы уменьшаете накладные расходы для JVM для создания и удаления мусора объекта. (используйте try-with-resource. Он автоматически позаботится о закрытии объекта подключения)

Смежные вопросы