DriverManager

wangjh789·2022년 8월 12일
0

[Spring] 스프링-DB-1

목록 보기
2/15
post-thumbnail

DB 연결

public class DbConnectionUtil {
    public static Connection getConnection() {
        try {
            Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            log.info("get connection={},class = {}",conn,conn.getClass());
            return conn;
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

외부 라이브러리에서 h2 Driver를 찾아 connection을 가져오는 코드이다.

get connection=conn0: url=jdbc:h2:tcp://localhost/~/test user=SA,
class = class org.h2.jdbc.JdbcConnection

connection의 class를 출력해보면 구현체가 org.h2.jdbc.JdbcConnection 라는 것을 알 수 있다.

DriverManager

JDBC가 제공하는 DriverManager는 라이브러리에 등록된 DB 드라이버들을 관리하고, 커넥션을 획득하는 기능을 제공한다.

커넥션을 얻는 순서
1. DriverManager에 등록된 드라이버 목록을 보고 순서대로 URL, USERNAME, PASSWORD 등의 정보를 넘겨 커넥션을 획득할 수 있는지 확인한다.
2. 처리할 수 있는 드라이버를 찾으면 실제 DB에 연결해 커넥션을 획득하고 클라이언트에 반환한다.
3. 이렇게 찾은 커넥션 구현체를 클라이언트에 반환한다.

profile
기록

0개의 댓글