java jdbc 오라클 연결과 데이터 select 방법

java 오라클

현재 실무 프로젝트에서는 오라클 같은 DB를 연결할 때 ibatis나 mybatis 같은 ORM을 많이 사용하는데요. 이전에는 java jdbc 드라이버를 이용하여 연결하였습니다.

아마 java를 처음 배우시는 분들은 처음부터 프레임워크를 쓰지 않고 jdbc를 쓰실텐데요. 프레임워크가 자동으로 해주는 일을 수동으로 구성해야 하므로 구성방법과 주의점들을 알 수 있어서 좋은 장점이 될 수 있기 때문입니다.

그래서 이번시간에는 오라클 jdbc 연결 방법과 테이블의 데이터를 select해서 출력해 보도록 하겠습니다.

오라클 jdbc 드라이버 설치

java jdbc

기본적으로 오라클을 설치하시고 프로젝트 하나를 만들어 두셔야 합니다.

그리고 오라클에서 제공하는 jdbc 라이브러리를 프로젝트에 추가하셔야 하는데요.

프로젝트를 오른쪽 마우스로 눌러서 Configure Build Path로 들어가 줍니다.

java 오라클

java build path 메뉴에서 상단의 Libraries를 눌러서 Add External JARs 눌러줍니다.

오라클 jdbc

이 부분에서 오라클에서 제공하는 jdbc lib를 등록해야 합니다.

오라클이 설치된 \app\c\product\11.2.0\dbhome_1\jdbc\lib 경로에서 ojdbc6을 추가해 줍니다.

java_jdbc021

라이브러리 추가가 완료되면 위와 같이 해당 파일이 등록되게 됩니다.

조금 더 관리하기 편하기 위해서는 jdbc 파일을 java lib폴더로 옮기는 것도 좋습니다.

데이터 select 하기

이제 오라클을 연결할 준비는 다 되었습니다.

이제 Connection과 PreparedStatement를 이용하여 데이터를 select 해 보겠습니다.

public class SelectTest {
public static void main(String[] args) {
	
	
	String driver="oracle.jdbc.driver.OracleDriver";
	String url="jdbc:oracle:thin:@localhost:1521:ORCL";  
	String sql = "select ename, job from emp";

	Connection conn = null;

	PreparedStatement pstmt = null;

	ResultSet rs = null;
	try {

	    
	    Class.forName(driver);
	    // Oracle Driver 로딩
	  
	    conn=DriverManager.getConnection(url,"scott","tiger"); 
	    // 데이터베이스 connection 
	    
	    pstmt=conn.prepareStatement(sql);
	    // sql을 실행하기 위한  prepareStatement 생성

	    rs=pstmt.executeQuery();
	    // sql 실행
	    conn.
	    
	    while(rs.next()){
	     System.out.println("이름 : "+rs.getString(1));
	     // sql 실행 시 첫번째 결과값을 출력
	    }
	
	
	    rs.close();
	    //resultset 닫음
	    
	    pstmt.close();
	    //prepareStatement 닫음
	    
	    conn.close();
	    //연결 종료
	
	
	}catch(Exception e){
	
	  e.printStackTrace();
	}
	
}
}

소스 결과

java_jdbc022

java와 오라클의 연결이 정상적으로 되었으면 위와 같은 결과가 나오게 되는데요.

만약 데이터가 출력되지 않는 다면 라이브러리 추가와 연결 포트등이 달라서 그럴 수 있으니 확인해 보시기 바랍니다.


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.