JDBC - отличный способ начать создание приложения базы данных java, но управление отображениями объектов и соединениями / транзакциями может очень быстро привести к множеству проблем и переписыванию логики, которая уже была написана многими программистами много раз.
Ожидается, что вы должны потерять / закрыть соединение в обычном режиме, если только у вас нет приложения с высокой пропускной способностью, и в этом случае вы можете поддерживать несколько соединений живыми (это называется пулом соединений).
Существуют 3 подхода «высокого уровня» для поддержания эффективных соединений и транзакций:
1) Самое простое решение - это проверить, когда вы повторно используете соединение, чтобы убедиться, что оно допустимо, или открывать его каждый раз.
2) Более сложным решением является использование механизма пула соединений, такого как библиотека apache http://commons.apache.org/dbcp/ dbcp.
3) Наконец, на мой взгляд, наиболее приемлемым решением является использование JDBC-фреймворка, такого как ibatis / hibernate , который предоставит вам простой декларативный интерфейс для управления объектным реляционным отображением / транзакций / базой данных. состояние ---- при этом также прозрачно поддерживает логику подключения для вас.
ТАКЖЕ: Если реляционное сопоставление объектов не является вашей вещью, то вы можете использовать такую инфраструктуру, как DBUtils от apache, для управления запросами и соединениями, не мешая при этом сложному отображению данных.