본문 바로가기

강의 내용 정리/Spring DB 1

1-6. JDBC 개발 - 등록

Member 두개를 만들어두었다.



MemberRepositoryV0


V0은 직접 JDBC의 DriverManger를 사용한다. (가장 low 레벨)

SQLException 시 log를 남기고 e를 위 클래스로 던지자. (class에 throws SQLException)

만약 throw new RuntimeException(e); 했으면 이건 CheckedException인 SQLException을 RuntimeException으로 변환하여 터트리므로 throws SQLException 할 필요가 없다. ( RuntimeException은 UncheckedException 이므로 잡아줄 필요없다 - 중요)

finally에서 pstmt 와 con 을 닫아주어야한다. (연결의 역순)
-> 외부의 리소스를 쓰는 중이다. 실제 TCP/IP 커넥션 걸려있음.
-> 안 닫아주면 계속 리소스 낭비가 된다.


근데 만약 pstmt.close(); 에서 Exception이 터진다면?
-> 위 클래스로 throws 되어 con.close() 가 실행이 안된다.



이렇게 메서드로 빼서 다 잡아주었다.



딱 봐도 PreparedStatement 는 Statement를 상속함.
pstmt에 파라미터 바인딩 기능 추가.

항상 리소스 정리 해주자.

ResultSet은 조회용인데 나중에 알아보자.






MemberRepositoryV0Test

 

memberV0, 10000 이 INSERT 된다.

 

 

 

 

 

 

 

 

 

 

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

 

 

꾸준히 다시보자.

 

1. 221014

2. 221031

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

1-8. JDBC 개발 - 수정, 삭제  (0) 2022.09.22
1-7. JDBC 개발 - 조회  (0) 2022.09.22
1-5. 데이터베이스 연결 (중요)  (1) 2022.09.21
1-4. JDBC와 최신 데이터 접근 기술  (0) 2022.09.21
1-3. JDBC 이해  (0) 2022.09.21
Recent Posts
Popular Posts
Recent Comments