본문 바로가기

Better SW Development

[dW Review] Java Database Connectivity에 대해 모르고 있던 5가지 사항

예전에는 JDBC를 직접 이용해서 개발을 했던 적이 있었습니다. 누가 잘 짰다는 코드가 있으면 그걸 받아다가 만들기도 했고, 직접 개선해서 라이브러리화 해서 쓰기도 했습니다. 그러다 프레임워크라는 것들이 나오기 시작하면서 DB를 다루는 부분들은 대부분 라이브러리를 이용하는 걸로 바뀌었습니다. 그래서 오히려 요즘엔 JDBC에 대해서 배울일이 거의 없어졌습니다. 좋기도 하고 나쁘기도 한 일인것 같습니다. 비슷한 상황으로는 예전에는 자바 배울때 컴파일하는 방법도 열심히 배웠었습니다만, 요즘엔 그냥 이클립스등의 IDE를 쓰면 알아서 하니까 몰라도 됩니다. 마찬가지로 좋은 일이기도 하고 나쁜일이기도 합니다.

물론 튜닝을 위해서 특정 옵션을 주어야 하거나, 빌드 작업을 하는 담당자일 경우 다시 명령행에서 부터 치열하게 배워야 하지만 극소수에 불과합니다.

IBM기사중에서 어떤 기사를 리뷰할까 검색하다가 재밌는 기사가 하나 보였습니다. "5가지 시리즈"라고 불리는 시리즈들이 있는데 그 중 하나인 JDBC에 대해 모르고 있던 5가지 사항이라는 기사입니다.

Java Database Connectivity에 대해 모르고 있던 5가지 사항
http://www.ibm.com/developerworks/kr/library/j-5things10/j-5things10.html

기사 소개문구는 이렇습니다.

" JDBC 또는 Java™ Database Connectivity는 전체 JDK에서 가장 많이 사용되는 패키지 중 하나이지만 아직까지도 최신 기능을 비롯한 다양한 기능을 충분히 활용하는 Java 개발자는 소수에 불과합니다."


우선 아마 많은 분들이 JDBC가 무엇의 약어였었는지부터 다시 되새겨 보게 되지 않을까 생각합니다. 스프링 프레임워크를 쓰시는 분들은 JDBC템플릿을 거의 쓰실테고, 더 나아가서는 JPA계열의 ORM을 쓰실테지만, 옛 기억을 되살려보면서 한 번 읽어보시는 것도 좋을 것 같습니다. 저를 포함해서 대부분의 개발자들의 JDBC지식은 대략 JDBC 2.0정도까지의 지식이지 아닐까 싶습니다. 현재 스펙으로는 JDBC 4.0까지 나왔는데 몇 버전까지의 기능을 아시는지도 확인해 보시는 것도 재밌을 것 같습니다. 다만, JDBC는 스펙일뿐이라서 벤더들이 드라이버를 지원해주어야 정상적으로 사용할 수 있습니다. JDBC 4.0 스펙이 2006년에 나왔습니다만, 지원하는 벤더들이 많지 않다고 합니다.

심지어 자바 공식사이트의 최신 문서에는 아직 JDBC 3.0까지만 소개되어 있습니다. 3.0은 1.5(java5)랑 같이 나왔고, 1.6때 JDBC 4.0이 같이 나오기로 했었는데 확인 안했더니 어떻게 된 일인지 지금으로서는 모르겠네요. (어쩌면 오라클이 4.0드라이버를 지원 안해서 일수도 있습니다. 흠..)
http://download.oracle.com/javase/6/docs/technotes/guides/jdbc/