JDBC 드라이버를로드하는 것이 더 나은 방법은 무엇입니까?
DriverManager.registerDriver()
방법 1은 내부적으로 DriverManager.registerDriver를 호출하며 방법 1이 선호됩니다.
하지만 왜? 어떤 작은 차이가 있거나 실적이 더 좋습니다.
모든 의견을 부탁드립니다 ..
JDBC 드라이버를로드하는 것이 더 나은 방법은 무엇입니까?
DriverManager.registerDriver()
방법 1은 내부적으로 DriverManager.registerDriver를 호출하며 방법 1이 선호됩니다.
하지만 왜? 어떤 작은 차이가 있거나 실적이 더 좋습니다.
모든 의견을 부탁드립니다 ..
Class.forName()을 사용하면 특정 JDBC 드라이버에 대해 컴파일 타임 종속성이 필요하지 않습니다. 이는 다양한 데이터베이스에서 작동 할 수있는 코드를 작성할 때 특히 유용합니다. , XML 파일을
import org.postgresql.Driver;
// Register the PostgreSQL driver
DriverManager.registerDriver(new Driver());
그리고 등록 정보 파일에서 그 첫 번째 예에서, 클래스 이름도 올 수 있었다 고려해야과 비교 지금
// Register the PostgreSQL driver
Class.forName("org.postgresql.Driver");
:
다음 코드를 고려 , 등등, 귀하의 응용 프로그램에 편리합니다.
감사합니다.
정적으로 드라이버를 참조하여 드라이버 인스턴스를 구성하면 인생이 훨씬 쉬워집니다. 일단 그렇게하면 악으로 만든 DriverManager
을 무시할 수 있습니다.
JDBC API Tutorial and Reference은 이러한 질문에 대한 가장 좋은 참조 인 section of which addresses the role played by the Driver and DriverManager classes입니다.
모든 드라이버 클래스에는 Driver 클래스가로드 될 때 해당 드라이버의 인스턴스를 만들고 DriverManager에 등록하는 정적 초기화 프로그램이 있어야합니다.
또한 DriverManager.getConnection()은 클래스의 유일한 사용자 공간 친화적 인 메소드 일 수 있습니다. 대부분의 다른 메소드는 JDBC API를 사용하는 대부분의 개발자가 사용하지 않습니다. 따라서 오래된 격언은 여전히 유효합니다. Class.forName()을 사용하여 드라이버를로드 한 다음 DriverManager.getConnection()을 사용하여 데이터베이스에 연결하십시오.
"성능이 좋아요?"
나는이 일회성 작업의 성능이 당신의 걱정거리 중 가장 적은 것이라고 말합니다.
Java EE 앱 서버를 사용하는 경우 대답은 "아니요"입니다. 연결 풀을 설정하고 드라이버로드 및 연결 전달을 처리하도록해야합니다.
나는 당신의 의견에 동의한다. – harshit
음 ... 나는 링크가 맞다고 생각하지 않습니다. –
고침, 고마워 (나는 그게 무슨 뜻인지 읽고 있었다. 나는 링크를 다시 잡는 것을 잊었다 :-) – TofuBeer