1 분 소요


◆ JDBC(Java Database Connectivity)

자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.
데이터베이스에서 자료를 쿼리(Query)하거나 업데이트하는 방법을 제공한다.

1) java.sql.Driver : DB와 연결하는 Driver class를 만들 때 반드시 implements 해야 하는 interface로 JDBC 드라이버의 중심이 되는 Interface 입니다.

2) java.sql.Connection : 특정 데이터베이스와 연결정보를 가지는 Interface 입니다. DriverManager 로부터 Connection 객체를 가져옵니다.

3) java.sql.Statement : SQL query문을 DB에 전송하는 방법을 정의한 Interface 입니다. Connection을 통해 가져옵니다.

4) java.sql.PreparedStatement : Statement의 하위 Interface 입니다. SQL문을 미리 컴파일 하여 실행 속도를 높입니다.

JDBC는 3가지 기능을 표준 인터페이스로 정의하여 제공한다.

  • java.sql.Connection - 연결
  • java.sql.Statement - SQL을 담은 내용
  • java.sql.ResultSet - SQL 요청 응답

JDBC

  1. DB 서버 접속을 위해 JDBC 드라이버를 로드합니다.
  2. DB 접속 정보와 DriverManager.getConnection() Method를 통해 DB Connection 객체를 얻습니다.
  3. Connection 객체로 부터 쿼리를 수행하기 위한 PreparedStatement 객체를 받습니다.
  4. executeQuery를 수행하여 그 결과로 ResultSet 객체를 받아서 데이터를 처리합니다.
  5. 처리가 완료되면 처리에 사용된 리소스들을 close하여 반환합니다.


◆ JDBC 사용법

1. 환경설정

  1. DBMS 서버 설치 : MySQL, Oracle, DB2 등

  2. JDBC Driver 설치 : 각 DBMS 페이지에서 제공하는 파일을 다운받기 (*.jar 파일)

    참고 블로그 : byungmin.tistory.com

  3. JDBC API : JDK에 포함

*JDBC Driver 설치하기

1.오라클의 설치된 경로에 JDBC 라이브러리가 있다.
경로 : app{사용자계정}\product\11.2.0\dbhome_3\jdbc\lib
파일 : ojdbc6_g.jar

2.이를 복사하여 “JDK > JRE > Lib > ext” 경로에 복사한다.
Java가 설치된 경로는 이클립스에서 아래와 같이 확인 할 수 있다.
Class.forName(“oracle.jdbc.driver.OracleDriver”);


2. 자바 쿼리문 실행

public Integer memRegist(MemberDTO mDTO) {

    String url = "jdbc:oracle:thin:@localhost:1521:xe";
    String user = "사용자 계정 이름";
    String password = "사용자 계정 암호";

    Connection conn = null;
    PreparedStatement pstmt = null;
    Integer succ = null;

    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");

        conn = DriverManager.getConnection(url, user, password);

        String sql = "INSERT INTO tblmember VALUES(?, ?, ?, ?, ?)";
        pstmt = conn.prepareStatement(sql);

        pstmt.setInt(1, mDTO.getNo());
        pstmt.setString(2, mDTO.getName());
        pstmt.setString(3, mDTO.getAddr());
        pstmt.setInt(4, mDTO.getAge());
        pstmt.setString(5, mDTO.getTel());

        succ = pstmt.executeUpdate();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            pstmt.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return succ;

이때 계속 connction객체를 생성하며는 메모리의 효율성이 떨어지기 때문에 싱글톤 패턴을 사용하여 DB와 연결할 수있다.

싱글톤패턴 : Singleton-pattern

태그:

카테고리:

업데이트:

댓글남기기