클라이언트, 애플리케이션, 서버, DB
애플리케이션 서버와 DB - 일반적인 사용법
1) 커넥션 연결
: 주로 TCP/IP 사용
2) SQL 전달
: 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달
3) 결과 응답
: DB는 전달된 SQL 수행 후 결과를 응답, 애플리케이션 서버는 응답 결과 활용
애플리케이션 서버와 DB - DB 변경
문제 발생과 해결
1) 데이터베이스의 종류를 변경하면 애플리케이션 서버에 개발된 데이터베이스 사용 코드도 함께 변경해야 함
2) 개발자가 각각의 데이터베이스마다 커넥션 연결 / SQL 전달, 결과를 응답 받는 결과를 새로 학습해야 함
-> JDBC
라는 자바 표준이 등장
JDBC 표준 인터페이스
JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공
대표적으로 다음 3가지 기능을 표준 인터페이스로 정의하여 제공
java.sql.Connection
: 연결java.sql.Statement
: SQL을 담은 내용java.sql.ResultSet
: SQL 요청 응답JDBC 드라이버
JDBC의 등장으로 해결된 문제
1) 데이터베이스를 다른 종류의 데이터베이스로 변경하면 애플리케이션 서버의 데이터베이스 사용 코드 또한 변경해야하는 문제
2) 개발자가 각각의 데이터베이스를 다루는 방법을 알아야 하는 문제
참고 - 표준화의 한계
JPA(Java Persistence API)
사용하면 각각의 데이터베이스마다 다른 SQL을 정의해야 하는 문제도 해결 가능