본문 바로가기

강의 내용 정리/Spring DB 1

1-5. 데이터베이스 연결 (중요)

상수로 정의한다.

 

데이터베이스에 접속하는데 필요한 기본정보를 편리하게 사용할 수 있도록 상수로 만들었다.

 

 

 

로그 찍기 위해 @Slf4j, Connection 은 java.sql.Connection 인데 이게 자바 표준 JDBC 인터페이스이다.

 

번외) 왜 여기서 getConnection 시 빨간줄이 뜰 까?

-> SQLException 이라는 CheckedException 이 터질 수 있으므로 처리 해주어야한다. 

(처리 방법) : https://dont-be-evil.tistory.com/251?category=1078000

 

 

 

 

이렇게 하면 각 벤더의 드라이버를 찾아서 커넥션을 반환해준다.

 

H2 DB의 Driver

DriverManager 가 자신의 규칙에 의해서 라이브러리에 있는 DB 드라이버를 찾는다.

 

 

 

 

 

 

 

 

DB 연결 테스트

 

 

test.connection.DBConnectionUtilTest

INFO 로그가 찍힌다. 이 때 Connection은

java.sql.Connection 인터페이스이다. (자바 표준 JDBC Connection 인터페이스)

 

이 구현체를 넣어줘야하는데,

 

전 포스트에서 보았던 각 벤더사의 드라이버에 각각 Connection구현체가 있다.

지금은 H2 DB 이므로 위에 로그에서 확인 할 수 있듯이 org.h2.jdbc.JdbcConnection 구현체를 가져온다.

 

org.h2.jdbc.JdbcConnection

 

각 벤더사에 맞는 Connection을 알아서 찾아서 연결하므로 우리는 DB 바꿀 때 Connection 을 바꿀 필요없음.

-> 우리는 Connection 인터페이스를 코딩하면된다.

 

진짜 구현하고 있을까?

->

java.sql.Connection을 구현한다.

H2 DB의 JdbcConnection은 java.sql.Connection 을 구현한다.

 

 

 

 

 

 

DriverManage.getConnection() 커넥션 요청 흐름

 

 

 

getConnection() 시 URL을 포함한 각종 부가정보(username, password) 를 제공하는데

이때 이 정보는 라이브러리에 등록된 드라이버 목록에 다 던져본다.

순서는 모르지만 각자 자신의 드라이버가 처리할 수 있는 URL을 만나면 자기가 처리하여 클라이언트에 커넥션 반환

처리 할 알맞은 드라이버 없으면 DB연결 자체를 못함. -> 처리할 수 없다고 반환하고 끝.

 

(라이브러리에 들어만 있으면 DriverManager에서 자동으로 인식)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# 본 게시글은 인프런 김영한님의 강의를 수강 후 반복학습을 위해 정리한 내용입니다.

 

 

 

꾸준히 다시보자.

 

1. 221014

2. 221031

'강의 내용 정리 > Spring DB 1' 카테고리의 다른 글

1-8. JDBC 개발 - 수정, 삭제  (0) 2022.09.22
1-7. JDBC 개발 - 조회  (0) 2022.09.22
1-6. JDBC 개발 - 등록  (0) 2022.09.21
1-4. JDBC와 최신 데이터 접근 기술  (0) 2022.09.21
1-3. JDBC 이해  (0) 2022.09.21
Recent Posts
Popular Posts
Recent Comments