현재 실무 프로젝트에서는 오라클 같은 DB를 연결할 때 ibatis나 mybatis 같은 ORM을 많이 사용하는데요. 이전에는 java jdbc 드라이버를 이용하여 연결하였습니다.
아마 java를 처음 배우시는 분들은 처음부터 프레임워크를 쓰지 않고 jdbc를 쓰실텐데요. 프레임워크가 자동으로 해주는 일을 수동으로 구성해야 하므로 구성방법과 주의점들을 알 수 있어서 좋은 장점이 될 수 있기 때문입니다.
그래서 이번시간에는 오라클 jdbc 연결 방법과 테이블의 데이터를 select해서 출력해 보도록 하겠습니다.
오라클 jdbc 드라이버 설치
기본적으로 오라클을 설치하시고 프로젝트 하나를 만들어 두셔야 합니다.
그리고 오라클에서 제공하는 jdbc 라이브러리를 프로젝트에 추가하셔야 하는데요.
프로젝트를 오른쪽 마우스로 눌러서 Configure Build Path로 들어가 줍니다.
java build path 메뉴에서 상단의 Libraries를 눌러서 Add External JARs 눌러줍니다.
이 부분에서 오라클에서 제공하는 jdbc lib를 등록해야 합니다.
오라클이 설치된 \app\c\product\11.2.0\dbhome_1\jdbc\lib 경로에서 ojdbc6을 추가해 줍니다.
라이브러리 추가가 완료되면 위와 같이 해당 파일이 등록되게 됩니다.
조금 더 관리하기 편하기 위해서는 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와 오라클의 연결이 정상적으로 되었으면 위와 같은 결과가 나오게 되는데요.
만약 데이터가 출력되지 않는 다면 라이브러리 추가와 연결 포트등이 달라서 그럴 수 있으니 확인해 보시기 바랍니다.