IT/PROGRAMING

JAVA. DBMS 연동을 위한 JDBC (Java Data Base Connectivity)활용

까망수염 2012. 2. 7. 16:45
728x90

JAVA와 DBMS의 연동을 위해 JAVA에서는 JDBC 기능을 제공합니다.

1. Oracle Driver를 우선 메모리에 로드 시킵니다.

2. 로드 된 DriverManager를 활용해서 연결을 합니다.

3. 연결을 통해서 [Connection]을 얻어옵니다.

4. connection 을 이용해서 Statement를 통해 SQL 문장을 실행

5. 결과 테이블을 반환하면 (select 수행 시) ResultSet을 활용해서 표현

 

작게 세분화 하면 위와 같이 5단계로 볼 수 있고 크게 3단계로 볼 수 있습니다.

1.Connection 얻기

2.Statement 얻기

3.필요 시 ResultSet 얻기

 

그럼 이제부터 예제와 같이 진해하겠습니다.

import java.sql.*;

public class Test{

public static void main(String[] agrs){

Connection conn = null;

Statement stmt = null;

ResultSet rset = null;

//객체를 초기화

        

try{

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

//클래스가 적재되고 이 부분에서 OracleDriver를 메모리에 적재

conn = DriverManager.getConnection("jdbc:oracle:thin:@ip주소:port:SID");

//ip주소, 통신 port번호 (oracle설치 시 1521기본), SID (oralce설치 시 orcl 기본)

stmt = conn.createStatement();

//conn을 실행을 위해 statement객체에 저장

String sql = "SQL : select 문"

rset = stmt.executeQuery(sql);

//SQL 문을 String sql에 지정

//stmt를 활용해서 sql에 있는 SQL문 실행(executeQuery는 select문 실행명령어)

//sql 이 SELECT 문일 때 결과가 테이블 형태로 나오기 때문에 rset을 활용해서 표현

 

//밑에는 그냥 써두세요^^ 예외처리를 위한 문법입니다.

}catch (SQLException sqle){

sqle.printStackTrace();

}catch (ClassNotFoundException cfe){

cfe.printStackTrace();

}finally{

try{

//이 부분이 생성한 conn, stmt, rset의 연결을 닫아주는 부분입니다.

//순서는 마지막에 만든 rset부터 stmt -> conn 순으로 닫아줍니다.

if(rset != null){

rset.close();

}if(stmt != null){

stmt.close();

}if(conn != null){

conn.close();

}catch (SQLException sqle){

sqle.printStackTrace();

}

}

}

}

728x90