Programming/Java

[JDBC] Oracle Database 연동

seandoesdev 2023. 8. 1. 22:57

JDBC(Java DataBase Connectivity)

  • 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약.
  • 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API
  • 데이터베이스 벤더 또는 기타 써드파티에서는 JDBC 인터페이스를 구현한 드라이버(driver)를 제공한다.
  • java.sql 패키지 사용
  • 비런타임 계열이기 때문에 예외처리 필수

 

다음 순서대로 진행행합니다. (Eclipse)

1. Load Driver

2. Connect Oracle DB

 

 

1. Load Driver

프로젝트에서 마우스 오른쪽 클릭하면 Properties가 나온다. 단축키로 Alt + Enter를 사용하면된다.

 

Properties for jdbcstudy ➡️ Java Build Path ➡️ Add External JARS.. ➡️ C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6_g.jar 파일을 가져온다.

// 드라이버 로딩
try {
    Class.forName(driver);
}catch(ClassNotFoundException e) {
     e.getStackTrace();
}

 

2. Connect Oracle DB

2.1 DB 연결을 위한 데이터 입력

기본적으로 데이터베이스에 연결하기 위해 필요한 데이터를 입력한다.

String driver ="oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String userid = "SCOTT";
String passwd = "TIGER";

driver : 오라클 드라이버를 가져오기 위한 클래스명.

url : DB 접속을 위한 url

userid : 접속할 DB의 username

passwd : 접속할 DB의 password

 

2.2 드라이버 로드

위에서 .jar 파일(드라이버)를 사용하기 위해 로드한다. 

try {
    Class.forName(driver);
}catch(ClassNotFoundException e) {
     e.getStackTrace();
}

 

2.3 SELECT

Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;

try {
    con = DriverManager.getConnection(url, userid, passwd);
    String sql = "select deptno as no, dname, loc from dept";
    pstmt = con.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while (rs.next()) {
        int deptno = rs.getInt("no");
        String dname = rs.getString("dname");
        String loc = rs.getString("loc");
        System.out.println(deptno+"\t"+dname+"\t"+loc);
    }

}catch(SQLException e) {
    e.getStackTrace();
}finally {
    try {
        if(rs != null)rs.close();
        if(pstmt != null)pstmt.close();
        if(con != null)con.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }

}