JDBC 이해
Last updated
Last updated
직접 DB를 연결하기 보단 클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회한다.
커넥션 연결
주로 TCP/IP를 사용해 커넥션을 연결한다.
SQL 전달
애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다.
결과 응답
DB는 전달된 SQL을 수행하고 그 결과를 응답한다.
애플리케이션 서버는 응답 결과를 활용한다.
문제는 과거엔 DB마다 커넥션 연결, SQL 전달, 결과를 받는 방법 등이 모두 달랐다는 것이다.
DB 종류마다 애플리케이션 서버에 개발된 DB 사용 코드도 함께 변경해야 한다.
개발자가 각각의 커넥션 연결, SQL 전달 등을 새로 학습해야 한다.
자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
DB에서 자료를 쿼리하거나 업데이트 하는 방법을 제공한다.
java.sql.Connection
연결
java.sql.Statement
SQL을 담은 내용
java.sql.ResultSet
SQL 요청 응답
이제 개발자는 이 표준만 사용해서 개발하면 된다. 하지만 인터페이스만 있다고 기능이 동작하는 것은 아니다.
JDBC 인터페이스를 각 DB 벤더에서 자기 DB에 맞도록 구현해서 라이브러리로 제공한 것
애플리케이션 로직에서는 표준 인터페이스를 그대로 사용하면서 드라이버만 바꿀 수 있다.
JDBC로 많은 문제가 해결되었지만 일부는 사용법이 다르다.
결국 DB를 변경하면 JDBC 코드는 변경하지 않지만 SQL은 해당 DB에 맞게 변경해야 한다.
JPA를 사용하면 이런 문제도 부분적으로 해결할 수 있다.