ABOUT ME

Today
Yesterday
Total
  • JDBC API, JDBC Template
    Spring 2024. 1. 10. 21:43

    JDBC는 Java Database Connectivity의 약자로, Java 언어를 통해 데이터베이스에 접속하고 쿼리를 실행하기 위한 API입니다. 기본적으로 JDBC를 사용할 때는 아래와 같은 과정을 거칩니다.

     

    1. DataSource에서 커넥션을 가져옵니다: 데이터베이스와의 연결을 수립하기 위해 DataSource로부터 커넥션을 가져옵니다.
    2. 커넥션 사용 후 반납: 쿼리 실행이 끝난 후에는 해당 커넥션을 close() 메서드를 사용하여 반납하여 자원을 반환합니다.
    3. 트랜잭션 관리: 데이터베이스 작업을 트랜잭션으로 묶어주기 위해 try-catch 또는 try-finally 블록으로 감싸서 커넥션 관련 코드를 작성합니다.

     

    JDBC의 출현 배경

    더보기

    예전에는 데이터베이스마다 커넥션을 가져오고 SQL을 전달하고, 결과를 응답하는 방법이 각각 달랐다. 그래서 개발자는 데이터베이스가 변경되면 데이터베이스의 종류에 따라 모든 코드를 수정, 변경하는 일이 불가피했다.
    이를 해결하기 위해서 위의 세과정을 추상화를 하여 JDBC 표준이 나오게 되었다.

    커넥션을 반납하는 이유

    더보기

     커넥션은 데이터베이스에 연결하기 위한 하나의 수단으로서, 커넥션을 생성하는 비용은 크기 때문에 서버의 환경과 요청의 수를 감안하여 미리 설정해둔 수만큼 커넥션을 생성하고 이를 커넥션 풀에서 관리를 하게 됩니다. 

     

    만약 커넥션 풀로 관리를 하지 않고, 모든 요청에 대해서 커넥션을 계속해서 생성하고 반환하지 않을 경우에는 데이터베이스가 뻗어버리는 사태가 일어날 수도 있습니다.

     

    JdbcTemplate은 Spring JDBC의 핵심 클래스 중 하나로, 데이터베이스 연동 작업을 보다 간단하게 처리할 수 있도록 도와줍니다. JdbcTemplate을 사용하면 위에서 언급한 과정들을 JdbcTemplate이 내부적으로 처리해주기 때문에, 개발자는 커넥션을 가져오고 반납하는 등의 부분에 신경쓰지 않고 SQL 쿼리 실행에 집중할 수 있습니다.

    Spring Boot 프로젝트에서 JdbcTemplate을 사용하면 Spring Boot가 이미 데이터베이스 설정을 간소화해주고, JdbcTemplate을 활용하여 데이터베이스 작업을 수행할 수 있도록 설정을 제공합니다. 따라서 Spring Boot에서는 JdbcTemplate을 통해 간단하게 데이터베이스와의 상호작용을 할 수 있습니다.

     
     
     

    'Spring' 카테고리의 다른 글

    Spring Batch 도입기  (5) 2024.07.23
    Spring security test 에러  (0) 2024.04.02
    @ModelAttribute를 사용하여 직렬화  (0) 2023.11.29
    HttpMessageConverter  (0) 2023.10.05
    Converter, Formatter  (0) 2023.08.29
Designed by Tistory.