Home » JSP -7.JDBC

JSP -7.JDBC

8.1. 설치 및 연동 예제

8.1.1 JDBC란 ?

  • JDBC (Java Database Connectivity)란 데이터베이스에 접근하여 SQL문을 실행하기 위한 자바 라이브러리를 말하며, JDBC 의 역할은 아래의 그림을 참고

    그림 42. JDBC 역할

  • JDBC의 프로그래밍 순서는 아래와 같다.
    첫 째, JDBC 드라이버 로딩
    두 번째, Connection 맺기
    세 번째, SQL 실행
    네 번째, SQL문의 결과 값에 대한 처리
    다섯 번째, 자원 반환

8.1.2 예제

[ 실행 환경 ]
– 이클립스 : kepler
– 톰캣 버전 : 7.0

  • 1) http://dev.mysql.com/downloads/connector/j/에 접속 후 Platform Independent(Architecture Independent), ZIP Archive 로 다운로드 후 다운로드 한 ZIP 파일의 압축을 푼다.

  • 2) Dynamic Web Project 로 테스트 프로젝트 하나를 생성.
    프로젝트 우클릭 -> Properties -> Java Build Path -> libraries -> add external JARs ->
    다운로드한 jar 파일을 추가.

    그림 43. JDBC 프로젝트 1

3) Java Resources/src/ 에 패키지 하나 생성 후에 테스트 java 클래스를 생성한다.
클래스에 데이터베이스 연결 테스트하는 소스를 작성 후에 컴파일 한다.

[jdbcTest.java]

  • 위 소스는 JDBC 드라이버를 이용하여 간단하게 데이터 베이스와 연동할 수 있는 예제이다.
  • DriverManager에 mysql driver 와 사용자명, 사용자패스워드 등 내용을 설정하여 connection을 맺고, statement 객체를 생성하는데, 여기서 사용된 statement는 데이터베이스가 인식할 수 있는 포멧으로 번역하는 역할을 해준다.
  • Statement에 쿼리를 넣어서 실행 한다.

8.2. 커넥션 풀

8.2.1 커넥션 풀

  • 데이터베이스에 접근할 때 마다 커넥션 객체를 하나씩 사용하는데 연결시간과 자원이 낭비되는데 커넥션 풀로 이점을 해결할 수 있다.
  • 커넥션 풀은 데이터베이스와 연결된 커넥션을 미리 만들어 풀 속에 저장해 두고 필요할 때 마다 꺼내서 사용하고, 다 쓴 후에는 풀에 반환하는 기법을 말한다.

8.2.2 예제

[ 실습환경 ]
– 이클립스 :kepler
– 톰캣: 7.0

1) 프로젝트를 생성.

  • 톰캣 설치 폴더 밑 lib폴더(C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib)에 있는 tomcat-dbcp.jar파일을 복사하여 프로젝트의 lib 파일에 복사.

  • Mysql 페이지에 접속하여 mysql-connector를 다운로드

  • 압축을 풀고, jar파일을 프로젝트의 lib 폴더에 넣는다.

2) 프로젝트 밑 /WebContent/META-INF 폴더에 context.xml 을 생성하고 설정 소스를 작성.

[Context.xml]

  • Resource의 name 부분은 jdbc/임의의 DBCP명을 기입한다.
  • diverClassName=”드라이브명”.
  • url=”DB url /테스트DB명”
  • Username=”DB 아이디”,
  • Password=”DB 비밀번호”

  • 다음은 web.xml에 다음 소스를 추가.

[Web.xml]

3) connection pool 테스트 해볼 JSP 페이지를 작성.

[JDBCTest.jsp]


그림 44. DBCP 출력