|
프로그램을 개발하기위해선 대부분 DB 가 필요하다. DB에 데이터를 가져와서 요리하기
위해선 연결하고 조작하는 framework 을 쓰게 되는데 spring jdbc 와 hibernate, iBatis 같이
섞어서 사용한다. hibernate, iBatis 은 ORM(Object-relational mapping) 프레임웍이라고 부른다.
이것은 객체와 DB 의 맵핑을 좀더 효율적으로 할수 있게 만든 프레임웍이다.
이 프레임웍을 사용할 때 동적으로 쿼리의 상태값을 보는게 쉽지 않다. 그래서 무식하게 로그를
다 찍어보곤하는데 그런 수고를 덜수있는 log4jdbc 가 있다.
이것 외에 http://mainia.tistory.com/entry/log4sql log4sql 이라는 플러그인도 있다.
이전에 소개했던 기사인데 두가지를 비교해서 장단점을 알아보지는 않았다.
여하튼 이 플러그인을 쓰기 위한 3가지 필수 라이브러리가 있다.
(1) code.google.com/p/log4jdbc
log4jdbc3-1.1.jar (jdk1.4 or 1.5)
(2) www.slf4j.org
slf4j-api-1.5.3.jar (log4jdbc 와 logging 서비스와 연동하게하는 API)
slf4j-log4j12-15.3 (log4jdbc 와 log4j 기반 Logging 연동 라이브러리)
다운받은 zip 파일 안에 위의 2가지 jar를 찾아 복사한다.
먼저 소스에 적용하기 위해서 DB 연결 정보를 수정해야한다.
driver 클래스와 url 을 변경해야되는데 아래와 같이 변경하면된다.
<property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>
<property name="url"
value="jdbc:log4jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/>
<property name="username" value="xxxx"/>
<property name="password" value="xxxxx"/>
프로그램을 시작하고 DB 연결을 시도하면 쿼리와 파라미터 정보가 보이게 된다.
그리고 하이버넷 내부에 어떤일이 벌어지는지 상세하지는 않지만 힌트를 주는 로그를 보여준다
각 DB 에 따른 사용클래스들에 대한 표를 참조한다.
Driver Class | Database Type |
oracle.jdbc.driver.OracleDriver | Oracle |
com.sybase.jdbc2.jdbc.SybDriver | Sybase |
net.sourceforge.jtds.jdbc.Driver | jTDS SQL Server & Sybase driver |
com.microsoft.jdbc.sqlserver.SQLServerDriver | Microsoft SQL Server 2000 driver |
com.microsoft.sqlserver.jdbc.SQLServerDriver | Microsoft SQL Server 2005 driver |
weblogic.jdbc.sqlserver.SQLServerDriver | Weblogic SQL Server driver |
com.informix.jdbc.IfxDriver | Informix |
org.apache.derby.jdbc.ClientDriver | Apache Derby client/server driver, aka the Java DB |
org.apache.derby.jdbc.EmbeddedDriver | Apache Derby embedded driver, aka the Java DB |
com.mysql.jdbc.Driver | MySQL |
org.postgresql.Driver | PostgresSQL |
org.hsqldb.jdbcDriver | HSQLDB pure Java database |
org.h2.Driver | H2 pure Java database |
'자바(JAVA)' 카테고리의 다른 글
자신만의 filter class 만들어서 적용하기 (1) | 2010.08.02 |
---|---|
JSP 페이지에서 JSTL 에러 : According to TLD or attribute directive in tag file, (0) | 2010.08.02 |
JSP 페이지에서 contentType with different values 에러가 날 때 (0) | 2010.08.02 |
input 박스에 자동 submit 막기를 위한 여러가지 방법 (6) | 2010.08.02 |
Controller 영역인 브라우저에서의 단위테스트를 위한 HtmlUnit 사용하기 (0) | 2010.08.02 |
Ajax 을 사용하여 Form 데이터를 POST 전송하고자 할 때 (4) | 2010.08.02 |
swing 으로 제작되었으며 아파치의 HttpClient 를 이용한 웹서비스에 파일 업로드하기 (7) | 2010.07.30 |
아파치에서 배포하는 HttpClient 3.x 를 이용해 네트워크 데이터 전송 (5) | 2010.07.30 |