JDBC란 무엇인가?
자바 JDBC 프로그래밍 강의 01 - JDBC란 무엇인가?
자바개발자이고, DB를 이용해 웹 어플리케이션을 만들고 싶다면 JDBC를 사용해야 한다.(요즘엔 아니지만…) 나는 간단한 개념만 여기서 얻고 가겠다.
DB를 배운적이 있다면, DB클라이언트에 SQL을 직접 입력해본적이 있을 것이다. 여기에는 간단하게 SQL을 명령할 수 있다.
SQL을 작성하지 않아도 데이터베이스를 다룰 수 있다. 웹 어플리케이션이 제공하는 UI를 통해서 데이터베이스를 다루는 방법이 바로 그것임. 사용자가 사용하는 웹 어플리케이션은 UI를 통해 사용자가 입력한 방법 그대로 SQL문을 작성해 DB에게 보내주고, 결과를 받아온다.
여기서 웹 프로그래머가 할 일은 DB와 웹 어플리케이션 사이에서 코드를 생성해 DB를 다룰 수 있게 하는 일이다. 이를 가능케 하는 라이브러리가 DB API라고 한다.
문제는 각 DB마다 사용법이 다르면 그때마다 그에 맞는 코드를 작성해야 한다는 것. 이를 해결하기 위해 자바에서는 JDBC라는 표준 인터페이스를 제공한다. 벤더사들은 이 표준 인터페이스에 맞춰 DB를 제공하기 때문에 JDBC하나만 있다면 어떤 DB든 다를 수 있게 된다.
다시 말하면 JDBC는 어떤 DB이든 클라이언트가 이용할 수 있는 표준 인터페이스, 각 DB들은 JDBC의 구현체가 된다.
특히 JDBC와 DB를 연결하는 부분을 JAVA DB Conectivity라고 한다.
이런 구조이다.
JDBC덕분에 DB가 바뀌어도 클라이언트 코드는 변동될 일이 없다.
그럼에도 각 DB를 직접 다루는 제어프로그램은 존재한다. JDBC라는 표준 인터페이스로 그 제어프로그램을 다루고 있을 뿐이다. 이들을 JDBC 드라이버라고 한다. 각 DB마다 드라이버가 따로 존재하기 때문에 DB에 맞춰 드라이버를 다운받기만 하면 표준 인터페이스로 드라이버를 다룰 수 있게 된다.