2012-06-06 3 views
-1

java.sql 패키지에는 데이터베이스 연결을위한 연결 인터페이스가 있습니다.JDBC 연결 인터페이스 객체

그리고 DirverManager 클래스의 도움으로 우리는 Connection 인터페이스 객체를 얻을 수 있습니다. Ex. 연결이 인터페이스는 다음의 경우

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

Connection con=DriverManager.getConnection("jdbc:odbc:DNS"); 

하지만 약간의 혼동이는 --- 는 우리가 어떻게 연결 인터페이스의 목적을받을 수 있나요?

이 혼란을 없애시기 바랍니다.

답변

2

인터페이스에 대한 개체를 만들 수 없습니다. 그러나 해당 인터페이스를 구현하는 클래스 객체를 해당 인터페이스의 참조 변수에 할당 할 수 있습니다. 여기서 con은 해당 인터페이스에 대한 참조 변수이고 DriverManager.getConnection()연결 인터페이스를 구현하는 클래스 객체를 반환합니다.

+0

하지만 DirverManager.getConnection()이 어떤 클래스 객체를 반환하는지 알고 싶습니다. (어떤 클래스가 Connection 인터페이스를 구현하는지 의미합니다). – ajava

+1

_Connection_을 구현하는 클래스는 드라이버마다 다릅니다. 사용하는 JDBC 드라이버에는 .jar 파일이 연관되어 있으며, 정의 된 클래스는이 인터페이스를 구현합니다. 이 명령.은 각각 오브젝트를 리턴합니다. _new object() _를 사용하여 정상적인 클래스 - 오브젝트 방식으로 초기화 된 것은 없습니다. –

1

오라클의 T4CConnection 클래스는 Connection 인터페이스를 구현하고 MySQL의의 JDBC4Connection 클래스는 Connection 인터페이스를 구현합니다.

이것은 당신이 MySQL의 드라이버를로드하는 경우 오라클 드라이버 또는 JDBC4Connection obj 클래스를로드하는 경우 라인에 con 참조 변수는 아래 T4CConnection obj 클래스 중 하나를 보유하고 의미합니다. J2EE에서

Connection con=DriverManager.getConnection("jdbc:odbc:DNS");

0

, 우리는 드라이버 클래스 이름 변경에 대한 공급 업체에 공급 업체 및 드라이버에서 같은 인터페이스가 아닌 클래스와 코드입니다. 구현 클래스 이름을 얻으려면 getClass()를 사용하십시오.