먼저 Java 와 DBMS를 연결시키기 위해선 프로젝트에 중간 통로인 JDBC를 쓸 수 있게 설정을 해놓아야 한다.

 

이클립스 - Project - Properties - Java Build Path 에 JDBC 라이브러리,드라이버 모음 위치를 등록한다.

(드라이버는 DBMS종류에 따라 달라진다)

 

***(Java 와 오라클 연결)***

 

JDBC란? 

->Java에서 DB에 접근할 수  있게 해주는 java 프로그래밍 API

OJDBC란?

->오라클에서 제공하는 오라클 DB와 자바를 연결하기 위한 라이브러리+드라이버

DriverManager?

->데이터 원본에 JDBC드라이버를 통하여 커넥션을 만드는 역할

Class.forName() 메소드를 통해 생성되며 반드시 예외처리 필요

직접 객체 생성이 불가는하고 getConnection() 메소드를 사용하여 객체 생성

 

*Java에서 SELECT문 가져오기

 

1. Oracle JDBC Driver 메모리에 로드

2. Connection (JDBC 객체) 선언 

3. Statement (Connection 객체를 통해 SQL구문을 실행하고 결과를 받아오는 객체) 선언

4. ResultSet (Statement 객체를 통해 가져온 결과(DB의 RESULTSET)를 저장하는 객체)

 ->출력해낼 때 한줄씩 가져오므로 객체명.next() 를 통해 커서이동을 통해 움직인다

 

5. 메모리에 올려놓은 것들을 닫고 자원을 반환하기 위해 반드시 close() 해준다.

Connection  conn = null;
Statement stmt = null;
ResultSet rs = null;
List<TableB> result=null
String url = "jdbc:oracle:thin:@주소:버젼";

try{
	Class.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManagergetConnection(url,ID,PW);
    /*
    	url = "jdbc:oracle:thin:@주소:포트번호:버젼:"
    */
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    //sql = SQL SELECT 구문 ;빼고
    
    result = new ArrayList<TableB>();
    
    while(rs.next()){
    	int a =rs.getInt("A");
        .....
        
        TableB tb = new TableB(a, ....);
        result.add(tb);
    }//rs마지막까지 ArrayList에 추가
    }catch (Exception e) {//예외처리
			e.printStackTrace();
	}finally { //예외가 발생하든 말든 사용한 자원 반환
			try {
				if(rs!=null) {rs.close();}
				if(stmt!=null) {stmt.close();}
				if(conn!=null) {conn.close();}
			}catch (SQLException e) {
				e.printStackTrace();
			}
}

 

 

 

 

 

 

 

 

 

 

'개발자로 업그레이드 되자 > JDBC' 카테고리의 다른 글

JDBC 정리 (2) JDBC 템플릿  (0) 2021.10.14
JDBC 정리 (1) UPDATE  (0) 2021.10.09

+ Recent posts