JDBC - Java Database Connectivity
Java와 Database 연결을 위한 표준 API
JDBC API는 JDK에 포함되어 있으며, DBMS(MySQL)에 상관없이 사용할 수 있는 API를 제공함.
Mybatis, JPA 등도 내부적으로는 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
튜닝의 끝은 순정입니다. 어렵지만 어려웠던만큼 공부하면서 배운 점이 많았을 거라 생각합니다. 고생하셨습니다 김민쿤.