프로그래밍/JDBC

01 JDBC : JDBC 사용 클래스

pupu91 2022. 8. 26. 13:58
반응형

JDBC 

: 자바에서 데이터 베이스에 접근할 수 있게 해주는 Programming API

 

 

JDBC 사용 클래스

 

 

1. Driver Manager

: 데이터 원본에 JDBC 드라이버를 통해여 커넥션을 만드는 역할

  class.forName() 메소드를 통해 생성

 반드시 예외 처리 할 것

 getConnection()메소드를 사용하여 인스턴스 생성 가능

 

 

2. Connection

: 특정 데이터 원본과 연결 된 커넥션을 나타냄

  Statement 인스턴스를 생성할 때 Connection 인스턴스를 사용하여 createStatement() 메소드를 호출하여 생성

   SQL 문장을 실행시키기 전에 우선적으로 Connection 인스턴스가 있어야함.

 

 

3. Statement

: Connection 클래스의 createStatement() 메소드를 호출하여 얻어지며 생성 된

  Statement 인스턴스로 SQL 질의문을 String에 담아 인자로 전달하여 executeQuery() 메소드 호출 하여 SQL 질의 수행

ex) try {
 	 		String query = "SELECT ID, LAST_NAME FROM EMP";
            stmt = conn.createStatement();
            rest = stmt.executeQuery(query);
    } catch (SQLException e) {
    		e.printStackTrace();
    }

 

 

반응형

4. PreparedStatement

: Connection 클래스의 prepareStatement()메소드를 사용하여 인스턴스 생성

  SQL 질의문을 위치홀더(placeholder)인 ?로 표현되는 String으로 정의

  PreparedStatement는 위치홀더라는 개념에 해당되는 인수가 많아서 특정 값만 바꾸어

  여러 번 실행해야 할 때 사용하면 유용함

  (Statement는 SQL문장을 매번 컴파일 하지만 PreparedStatement는 한번만 컴파일 하므로 실행 속도가 빠름)

 

ttry {
		String query = "INSERT INTO MEMBER VALUES(?,?)";
		pstmt = conn.preparedStatement(query);
        pstmt.setString(1, id); //index 1번의 ?값에 id를 넣겠다.
        pstmt.setString(2, password); // index 2번의 ?값에 password를 넣겠다 
} catch (SQLException e) {
        e.printStackTrace();
}

 

 

 

5. ResultSet

: SELECT문을 사용한 질의 성공 시 ResultSet을 반환

  SQL 질의문에 의해 생성 된 테이블을 담고 있으며 커서(cursor)로 특정 행에 대한 참조 조작


반응형