드라이버 로드
드라이버 로드
데이터베이스에 연결하기 위해서는 드라이버 로드 작업이 필요하다. 코드로는 다음과 같다.
Class.forName("oracle.jdbc.OracleDriver");Class.forName()
Class.forName()을 이용하여 클래스 정보를 획득한 뒤 Java Reflection을 이용하여 객체 생성이나 필드 메소드 분석 등을 수행할 수 있도록 연계할 수 있다.
package test;
public class ExampleObject {
	
	static {
		System.out.println("static 실행");
	}
	
	public ExampleObject() {
		System.out.println("생성자 실행");
	}
	
}
package test;
import java.lang.reflect.InvocationTargetException;
public class ExampleApplication {
	public static void main(String[] args) throws Exception {
		Object obj = Class.forName("test.ExampleObject");
		Class<ExampleObject> clazz = (Class<ExampleObject>) obj;
		ExampleObject ex = clazz.getDeclaredConstructor().newInstance();
		//ExampleObject ex = new ExampleObject();
	}
}
static 실행
생성자 실행즉 Class.forName() 메소드 클래스 정보를 로드하는 역할을 수행하며, 이 과정에서 static 데이터가 메모리상에 적재되는 것을 확인할 수 있다.
package test;
public class ExampleObject {
	
	static {
		System.out.println("static 실행");
	}
	
	public ExampleObject() {
		System.out.println("생성자 실행");
	}
	
}
package test;
import java.lang.reflect.InvocationTargetException;
public class ExampleApplication {
	public static void main(String[] args) throws Exception {
		Class.forName("test.ExampleObject");
	}
}
static 실행따라서 Class.forName("oracle.jdbc.OracleDriver")는 ojdbc.jar의 OracleDriver 클래스를 호출하여 static 요소들을 메모리에 등록하기 위한 코드라고 볼 수 있다.
Last updated