자바개발자인데, 디비를 이용해서 프로그램을 만들고 싶다면 반드시 필요한 라이브러리가 JDBC이다.
디비에서 시퀄문을 직접 작성할수있고 서버에 접속하기 위해서 MySQL Workbench 같은 프로그램을 쓴다.
그런데 시퀄을 작성할 수 없는 사람들도 데이터베이스를 이용할수있다. 어떻게?
내가 만든 UI를 통해서 간접적으로 이용할수있다.
UI에 회원목록, 회원검색, 회원등록 등이 있다면,
만약에 회원목록을 달라고하면 UI를 통해서 시퀄문이 작성되고
시퀄문을 디비서버로 보내는 것도 코드가하게된다
자바프로그래머는 디비를 이용하기위해서 사용자의 요구에 부응하기 위해 쿼리를 이용할수있게하고 실행할수있게 해준다
이때는 클라이언트에서 쓰던 MySQL Monitor나 MySQL Workbench 이런게 필요한게 아니라 코드를 이용해서 쓸수있는 라이브러리가 필요하다.
바로 데이터베이스 API이다.
근데 문제가 있다.
DB API를 이용해 서버로 시퀄을 보내면 되는데, DBMS 를 만드는 각 회사들이 분명히 API에 똑같이 함수명을 짓거나 하지는 않았을 것이다.
예를들어 오라클로 데이터를 보내는 시퀄문을 코드로 작성했다고 치자. 근데 이걸 MS SQL로 보내려고 하면 서로 다른 API이기 때문에 문제가 발생한다
오라클을 쓰다가 MS SQL 로 바꿔쓰는 경우는 많이 없겠지만 프로그램을 만드는 사람의 입장에서는 DBMS 가 엄청많은데 특정 DBMS 이 갖고 있는 기능을 모두 알고 코드를 작성한다는 것은 굉장히 번거로운 일이다.
그래서 등장한게 JDBC이다.
JDBC가 조금씩차이나는 부분들을 단일화시키는 도구들을 제공하는데 이것을 자바 데이터베이스 connectivity라고 한다.
JDBC는 내부를보면 깡통이다.
JDBC의 역할은 다른나라여행갈떄 어댑터를 가지고가는거처럼 그런역할을 한다고보면된다.
그래서 오라클과 MS SQL의 차이점을 알 필요가 없다. JDBC를 통해 쓸수있기떄문이다.
그래도 오라클이나 MS SQL의 실제 구동코드 JDBC Driver가 있어야한다는 것도 알아야한다.
JDBC 에서 알아야할 것은 다음과 같다.