인프런 커뮤니티 질문&답변

steadyJay님의 프로필 이미지
steadyJay

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

순수 JDBC

connection 객체 close

작성

·

249

0

안녕하세요 강사님 Connection 에 대해 질문드리고자 글 남깁니다.

Connection 라이브러리에도 close라는 메서드가 있는데 DataSorceUtils의 releaseConnection 을 사용하는 이유가 있을까요?

과거 자바로 간단한 프로젝트를 할때, 매 db연동 메서드에 conn.close()라고 달아줬을 때,  db에서 값을 찾지 못해 다음 경로로 넘어가지 못한경우 다시 메서드를 실행하더라도 conn이 close된 상태로 유지되었었는데(아마 제가 코드를 null로 초기화하지 않아서 그랬을 가능성이 높습니다만..)

이 부분을 해결하고자 한것인지 다른 이유가 있는지 궁금합니다!

답변 1

1

안녕하세요. 최재훈님, 공식 서포터즈 OMG입니다.

Datasource API 문서에서 설명하는 내용과 과거 최재훈님이 간단한 '자바' 프로젝트와의 차이점을 비교해보시면 될 것 같습니다.

Helper class that provides static methods for obtaining JDBC Connections from a DataSource. Includes special support for Spring-managed transactional Connections, e.g. managed by DataSourceTransactionManager or JtaTransactionManager.

Used internally by Spring's JdbcTemplate, Spring's JDBC operation objects and the JDBC DataSourceTransactionManager. Can also be used directly in application code.

-

-

해당 유틸에서 제공하는 메서드 목록입니다.

releaseConnection(Connection con, DataSource dataSource)
Close the given Connection, obtained from the given DataSource, if it is not managed externally (that is, not bound to the thread).

-

참고:

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/datasource/DataSourceUtils.html

감사합니다.

steadyJay님의 프로필 이미지
steadyJay
질문자

감사합니다!!

steadyJay님의 프로필 이미지
steadyJay

작성한 질문수

질문하기