드라이버를 로딩한다는 것은 JVM이 어 떤 DBMS를 사용하는지 인식시키는 작업으로 Java에서 오라클을 연동할 수 있도록 오라클에서 제공해준 드라이버 파일을 JVM의 메모리에 로딩시키는 작업을 하는 단계입니다.

보통 외부 라이브러리에서 제공되는 클래스를 사용하려면 아래와 같이 new연산자를 이용해서 객체를 생성해서 사용하는 것이 일반적입니다.

 

[JSON데이터를 파싱할때 사용하는 json-simple라이브러리 ]

JSONObject myjson = new JSONObject();

 

그러나 DBMS드라이버는 Class라는 클래스에 정의되어 있는 forName이라는 메소드를 이용해서 오라클 드라이버(ojdbc6.jar)의 핵심클래스를 동적 로드 방식을 통해 메모리에 로딩해야 합니다. 정확하게 이해하시려면 클래스로딩의 종류나 과정부터 이해해야 하지만 우선은 JDBC에만 포커스를 맞춰 설명하도록 하겠습니다.

 

ojdbc6.jar파일의 API를 직접 호출하지 않고 java.sql의 표준API를 이용하여 호출하면 ojdbc6.jar의 API가 호출될 것입니다.

 

핵심클래스를 흔히 JDBC드라이버라 하며 어떤 DBMS를 쓰느냐에 따라 달라집니다.작업전에 제조사 홈페이지에서 확인해야 합니다.

[오라클]

oracle.jdbc.driver.OracleDriver

 

[MySQL]

com.mysql.jdbc.Driver

 

Class.forName("oracle.jdbc.driver.OracleDriver")

               -------------------------------------------

                                     ^

                                      |__ 오라클 드라이버명(패키지 포함)

 

 

여기까지 테스트를 해보도록 하겠습니다. api.sql패키지를 작성하고 ConnectionTest.java를 작성합니다.

다음과 같이 코드를 작성합니다.

package jdbc;

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

public class ConnectionTest {
	public static void main(String[] args) {
		String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
		String user = "scott";
		String password = "tiger";
		try {
			//1. JDBC드라이버로딩
			Class.forName("oracle.jdbc.driver.OracleDriver");
			System.out.println("드라이버로딩성공");

		} catch (ClassNotFoundException e) {
        	System.out.println("드라이버로딩실패");
			e.printStackTrace();
		}

	}

}

 

콘솔에 "드라이버로딩성공" 메시지가 출력됐다는 것은 위의 코드인 Class.forName(...........) 명령문이 정상적으로 실행됐다는 의미입니다.

'프로그래밍언어 > Java' 카테고리의 다른 글

이클립스에서 오라클 접속하기  (1) 2019.06.28
JDBC - 커넥션설정  (0) 2019.06.26
JDBC개요  (0) 2019.06.25
JDBC환경설정  (0) 2019.06.25
JTable의 셀에 JCheckBox와 JButton같은 컴포넌트 삽입하기 - I  (2) 2019.06.25

+ Recent posts