본문 바로가기
JDBC

JDBC

by juneMiller 2021. 10. 24.

JDBC 란? 

(Java DataBase Connectivity) 

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

 

사용방법

01.웹페이지에 다운로드 받아 사용 할 수 있다. 

https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

 

02.오라클 설치내 폴더에서 복사해다 쓸 수 있다. 

 

-Express 버전
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6
-Enterprise 버전
C:\app\사용자계정\product\11.2.0\dbhome_1\jdbc\lib\ojbdc6

 

프로젝트 폴더에서 빌드 패스로 들어가 Eclipse Library 로 등록 

 

문자 인코딩 방식을 확인해야 문자가 정상적으로 출력된다. UTF-8 

 

 

JDBC 사용 객체

 

DirverManager 

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

Class.for.Name() 메소드를 통해 생성되며 반드시 예외처리를 해야 한다. 

직접 객체 생성이 불가능하고 getConnection() 메소드를 사용하여 객체 생성 가능하다. 

 

Connection

특정 데이터 원본과 연결된 커넥션을 나타내며 Statement 객체를 생성할 때도 

Connection 객체를 사용하여 createStatement() 메소드를 호출하여 생성 

SQL 문자을 실행시키기 전에 우선 Connection 객체가 있어야 한다. 

 

Statement 

Connection 객체에 의해 프로그램에 리턴되는 객체에 의해 구현되는 일종의 메소드 집합 정의

Connetion 클래스의 createStatment() 메소드를 호출하여 얻어지며 

생성된 Statement객체로 질의 문장을 String 객체로 담아 인자로 전달하여 

executeQuery() 메소드를 호출하여 SQL 질의 수행 

 

try{
      String query = “SELECT ID, LAST_NAME FROM EMP”;
      stmt= conn.createStatement();
      rset= stmt.executeQuery(query);
} catch(SQLExceptione){
      e.printStackTrace();
}

 

PreparedStatement 

Connection 객체의 preparedStatement() 메소드를 사용하여 객체 생성 

SQL 문장이 미리 컴파일 되고, 실행 시간 동안 인수 값을 위한 공간을 확보한다는 점에서 

Statement 와 다름 

각각의 인수에 대해 위치 holder 를 사용하여 SQL 문장을 정의 할 수 있게 함. 

try{
    String query = “INSERT INTO MEMBER VALUES(?, ?)”;
    pstmt= conn.preparedStatement(query);
    pstmt.setString(1, id);
    pstmt.setString(2, password);
} catch(SQLExceptione){
    e.printStackTrace();
}

 

ResultSet

 

SELECT 문을 사용한 질의 성공시 Result Set 반환 

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