DAO: правило перегруженных методов (короткая справка) 1) Всегда два метода: insert(Connection c, …) // не закрывает соединение, не коммитит insert(…) // открывает своё соединение и сам закрывает 2) Внутри одного бизнес-метода: открываем одно соединение conn = db.getConnection(); делаем несколько DAO-вызовов через версии с Connection в конце вручную conn.commit(); conn закрываем только один раз в finally 3) DAO-методы с Connection: не создают соединение не закрывают соединение не делают commit/rollback 4) DAO-методы без Connection: маленькие удобные обёртки открывают соединение в try-with-resources внутри вызывают версию с Connection 5) Итог: одиночные операции → вызываем короткий метод без Connection пакетные/атомарные операции → берём одно соединение и используем только методы с Connection