[JDBC] 오라클과 JDBC 연결하는 방법

JDBC, Java Database Connectivity


- 자바응용프로그램( 콘솔, 웹, 모바일 등..) 과 데이터베이스시스템(오라클,MySQL 등..)간의 연결을 시켜주는 역할

- 이전에는 -> 사람(유저) <-> SQL Developer(클라이언트 툴) <-> SQL <-> 오라클(DBMS)

- 현재-> 자바프로그램(유저) <-> JDBC(연결 매개체) <-> SQL(질의) <-> 오라클(DBMS)

 


JDBC 사용 환경 만들기


 1. 오라클에서 제공하는 *.jar 파일 필요

  - ojdbc6.jar


 2. 현재 자바프로젝트에 jar파일 가져오기

  - jar 파일 붙여넣고 (lib폴더에)  

  - 프로젝트 참조(build path)에서 Add jar 하기.

  

 

자바프로그램을 통해서 오라클 접속하기.

 

 (1.SQL Developer 실행)

 1. 자바프로그램 실행

 

 (2. 접속)

  a. 호스트명 : 서버IP or 도메인주소

  b. 포트번호 : 1521

  c. SID(식별자) : xe

  d. 드라이버 : thin

  e. 사용자명 : hr

  f. 비밀번호 : java1234

 

2. 자바접속

-Connection 클래스 사용(접속 & 해제 & 트랜잭션 담당)

a. 호스트명 : 서버IP or 도메인주소

  b. 포트번호 : 1521

  c. SID(식별자) : xe

  d. 드라이버 : thin

  e. 사용자명 : hr

  f. 비밀번호 : java1234

 

 (3. 질의)

  a. SQL 사용

  b. 반환값이 없는 쿼리

  -select를 제외한 모든 쿼리

  c. 반환값이 있는 쿼리

  -결과셋이 있는 쿼리

  -select

  -결과셋을 눈으로만 확인(ANSI SQL)

  -또 다른 데이터로 재사용(PL/SQL)

 

 3. 질의

  -Statement 클래스 사용

  a. SQL 사용

  b. 반환값이 없는 쿼리

  -select를 제외한 모든 쿼리

  c. 반환값이 있는 쿼리

  -결과셋이 있는 쿼리

  -select

  -ResultSet 클래스를 사용 > 결과셋을 참조 > 업무에 적용

 

 (4. 접속종료)

  a. commit or rollback

  b. 종료

 

 4. 접속종료

  a. commit or rollback;

  b. 종료

 

코드로 보기


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class Jdbc {
    public static void main(String[] args) {
        // 1. DB접속
        // -Connection 클래스
        Connection conn = null;
 
        // 2. 연결 문자열 생성
        // -접속에 필요한 정보로 구성된 문자열, Connection String
        String url = "jdbc:oracle:thin:@localhost:1521:xe"; //localhost대신 ip주소가 들어갈수도
        String id = "hr";
        String pw = "java1234";
 
        // DB작업 > 외부 입출력 > try-catch 필수
 
        try {
            // 3. JDBC 드라이버 로딩
            Class.forName("oracle.jdbc.driver.OracleDriver");
 
            // 4. 접속
            // - Connection 객체 생성 + 접속 작업.
            conn = DriverManager.getConnection(url, id, pw);
            System.out.println(conn.isClosed()?"접속종료":"접속중");// 접속중(false), 접속종료(true)
 
            // 5. SQL
 
            // 6. 접속종료
            conn.close();
            System.out.println(conn.isClosed()?"접속종료":"접속중");// 접속중(false), 접속종료(true)
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }// main
}
cs


댓글

Designed by JB FACTORY