본문 바로가기
깨알정보

JAVA JDBC 연결 및 출력하기

by 에레메쓰 2021. 3. 16.
반응형

JAVA JDBC 연결 및 출력하기

 

안녕하세요. 에레메쓰입니다 :) 오늘은 JAVA JDBC 연결에 대해 알아보려고 합니다. 우선 오라클이 설치되어 있어야 되는데요. 오라클 설치법은 검색하면 많이 나오니 생략하고 연결 후 출력하는 것을 중점적으로 포스팅하도록 할게요.

 

 

이클립스-컨피그-설정
ConfigureBuildPath

 

오라클 설치 이후 프로젝트 > 우측 마우스 클릭 > Build path > Configure Build Path 순으로 클릭해 줍니다.

 

이클립스-jar파일-확장
Add-External-Jars

 

라이브러리 탭(Libraries)으로 변경하고 "Add External JARs" 버튼을 클릭합니다.

 

이클립스-jar파일-버전5,6-선택
ojdbc-.jar-File

이후 ojdbc 파일을 찾아야 되는데 경로를 모르신다면 내 컴퓨터 > "jdbc" 검색하면  상기의 파일이 출력됩니다. 여기서 lib 폴더에 있는 ojdbc5 또는 6을 클릭해 줍니다. "_g"가 붙어있는 파일들은 "javac -g"로 컴파일된 클래스들과 contain tracing code 제외인데 ... 그냥 ojdbc6을 고르시면 됩니다.

 

이클립스-설정-적용-종료
Apply-and-Close

이렇게 "ojdbc6.jar" 파일이 추가되었으면 적용 버튼을 클릭합니다. 

 

클래스-파일-추가
Class-File-Add

 

이제 클래스 파일을 하나 만들건데요. 클래스명은 임의로 하면 되지만 보고 따라하시는 분은 개념과 방법을 익혀야 하니 그대로 따라해주세요.

 

# 코드블록

package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ConnectionTest {

    public static void main(String[] args) {
    	
    	try {
		Class.forName("oracle.jdbc.driver.OracleDriver");	// 드라이버 로딩
		System.out.println("드라이버 로딩 성공..");

		String sql = "SELECT 'TEST' AS COL1, 10 AS COL2  FROM DUAL ";	// SQL Query
	    	String url = "jdbc:oracle:thin:localhost:1521:SID";
	    	String id = "scott";	// 접속 ID
	    	String pass = "tiger";	// 접속 PW
    	
    		Connection conn = DriverManager.getConnection(url,id,pass);	// 드라이버 접속
		System.out.println("드라이버 접속 성공!");
			
		Statement stmt =  conn.createStatement();
		ResultSet rs =   stmt.executeQuery(sql);	// SQL 수행 후 객체 생성
			
		while(rs.next()) { // ResultSet에 다음 값이 없을때까지 출력
			String Col1 = rs.getString("COL1");	// 컬럼 값 받아오기
			int Col2 = rs.getInt("COL2");
				
			System.out.println("COL1" + " " + "COL2");		// 컬럼명
			System.out.println(Col1 + " " + Col2);
		}
			
		// 연결 끊기
		rs.close();
		stmt.close();
		conn.close();
			
    	} catch (Exception e) {
		e.printStackTrace();
	}
    }

}

 

위의 코드블럭이 jdbc 연결 테스트용 파일 코드입니다.

 

여기서 주요 포인트는,

1) Class.forName("oracle.jdbc.driver.OracleDriver"); 을 통해 JDBC 드라이버를 로딩합니다.

2) 사전에 SQL 정보를 작성해야 합니다. (URL, ID, Password)

3) Connection을 통해 DriverManager.getConnection 정보를 받아옵니다. 여기서 받는 파라미터는 위 SQL 정보를 순서대로 넣어주면 됩니다. 

4) Statement를 이용하여 지정한 쿼리를 수행하고 Resultset에 수행한 SQL 쿼리 결과를 집어 넣어 줍니다.

5) While문을 이용하여 결과를 뽑아내는데요. 한 줄만 나오는 경우는 거의 없습니다. 따라서, ResultSet에 값이 없을때 까지 출력합니다. 여기서, 결과 값을 받을 때, "getString" "getInt"를 통해 DB 컬럼에 맞는 형태로 받아와야 합니다. (숫자를 문자로 받을 수 없음)

6) 결과까지 출력하면 ".close()"를 이용하여 모두 종료해 줍니다. 순서는 Connetcion > Statement > ResultSet의 순으로 진행했으니 rs.close(); > stmt.close(); > conn.close(); 순으로 종료시켜주면 됩니다.

 

# 이클립스 코드

이클립스-연습용-최종코드
Finish

 

이클립스에서 작성한 코드인데 코드블럭과 비교하시면서 진행하면 되겠습니다. jdbc 연결은 어렵지 않으나 순서만 잘 기억하면 됩니다. 정리하면, 드라이버 로딩 > "Connection"을 통해 드라이버에 접속 > "Statement"로 쿼리 수행 > Resultset으로 결과 저장 > "close()"를 이용하여 종료하면 끝이납니다.

 

 

 

댓글