[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-jdbc-kak-zakryt-soedinenie-s-bazoy-dannykh":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},1177,"kak-zakryt-soedinenie-s-bazoy-dannykh",36,"jdbc","JDBC","🔌","Как закрыть соединение с базой данных","Закрытие соединения с базой данных — это процесс освобождения ресурсов, связанных с объектом Connection, который необходимо выполнять после завершения работы.\n\nСоединение закрывается вызовом метода `close()` у объекта `java.sql.Connection` или автоматически при использовании try-with-resources (начиная с Java 7):\n\n```java\n\u002F\u002F Ручное закрытие\nConnection conn = dataSource.getConnection();\ntry {\n    \u002F\u002F работа с БД\n} finally {\n    conn.close();\n}\n\n\u002F\u002F Try-with-resources (рекомендуемый подход)\ntry (Connection conn = dataSource.getConnection();\n     PreparedStatement ps = conn.prepareStatement(sql);\n     ResultSet rs = ps.executeQuery()) {\n    \u002F\u002F работа с результатами\n}\n```\n\nПредварительно необходимо закрыть все запросы (Statement, PreparedStatement), созданные этим соединением.\n\n> **На собеседовании:** скажите, что правильный способ — try-with-resources. Обязательно упомяните порядок закрытия: ResultSet -> Statement -> Connection. При использовании пула соединений вызов `close()` не уничтожает соединение, а возвращает его в пул.","","junior",[15,16,7],"databases","основы",[],null,{"title":20,"description":21,"ogTitle":20,"ogDescription":22,"keywords":23,"schemaAnswer":31,"featuredSnippetReady":32},"Как установить соединение с базой данных в JDBC -- Gymterview","Установка соединения с БД через DriverManager.getConnection(): три перегрузки (URL, URL+Properties, URL+user+password). DataSource как альтернатива.","Создание Connection через DriverManager.getConnection() и DataSource. Три перегрузки метода.",[24,25,26,27,28,8,29,30],"getConnection","DriverManager","DataSource","Connection","подключение к БД","Java","собеседование","Через DriverManager.getConnection() с тремя вариантами параметров: только URL, URL + Properties, URL + user + password. Результат -- объект Connection. В продуктивном коде используется DataSource с поддержкой пула соединений вместо DriverManager.",true]