JDBC란?

JDBC - Java Database Connectivity
Java와 Database 연결을 위한 표준 API
JDBC API는 JDK에 포함되어 있으며, DBMS(MySQL)에 상관없이 사용할 수 있는 API를 제공함.
Mybatis, JPA 등도 내부적으로는 JDBC를 사용하고 있음

JDBC 프로그래밍에 주로 사용되는 객체

DriverManager 클래스

JDBC 드라이버를 통하여 커넥션을 만드는 역할 (드라이버 로드)

Connection 인터페이스

어떤 SQL문장(쿼리문)을 실행시키기 전에 우선
Connection 객체가 있어야함.

-> DBMS와 연결을 위한 객체

PreparedStatement 인터페이스

 1. Connection 객체의 prepareStatement 메소드를 
    사용해 객체를 생성함

 2. 동일한 질의문을 특정 값만 바꿔 여러번 실행해야 할 때, 
    많은 데이터를 다루기 때문에 질의문을 정리해야 할 필요가 있을 때, 
    인수가 많아서 질의문을 정리해야 할 필요가 있을 때 사용하면 유용
      
 3. PreparedStatement 인터페이스는 각각의
    인수에 대해 위치홀더를 사용해 SQL문장 정의.
      
    위치홀더 - SQL 문장에 나타나는 토큰. "?"로 표현
     
 -> SQL 실행을 위한 객체

ResultSet 인터페이스

1. SQL 질의에 의해 생성된 테이블을 담고있음.

2. ResultSet 객체는 커서를 가지고 있는데, 이걸로 특정
행에 대한 참조를 조작할 수 있음.
ex) if(rs.next()) {...}

-> executeQuery등 실행 시 반환되는 객체. 쿼리 실행 결과가 담겨있음.

마치며

요즘은 순수 JDBC로 DB 연결을 하지 않는 추세이다보니 자료를 찾으며 공부할 때 되게 힘들었던 것 같습니다.
하지만 메소드마다 하나하나 설정을 해줘야하기 때문에 되게 직관적으로 볼 수 있었다고 생각합니다.
이외에도 JPA를 사용했을 때와 비교를 해가면서 공부하는것도 좋을 것 같습니다.

아래에는 실습을 하기 위해서 만들어봤던 학생관리시스템입니다.
https://github.com/kimmin1kk/studentCRUD_connectSQL

profile
일단 부딪혀보자

1개의 댓글

comment-user-thumbnail
2023년 4월 11일

튜닝의 끝은 순정입니다. 어렵지만 어려웠던만큼 공부하면서 배운 점이 많았을 거라 생각합니다. 고생하셨습니다 김민쿤.

답글 달기