it-source

Class.forName("oracle.jdbc.driver")의 실제 용도는 무엇입니까?Oracle Driver")를 데이터베이스에 연결하는 동안?

criticalcode 2022. 10. 21. 22:48
반응형

Class.forName("oracle.jdbc.driver")의 실제 용도는 무엇입니까?Oracle Driver")를 데이터베이스에 연결하는 동안?

명령어는 무엇입니까?

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

Oracle 데이터베이스에 접속할 때 정확히 무엇을 할 수 있을까요?같은 일을 할 수 있는 다른 방법이 있나요?

Qualified Name) FQCN(FQCN; 완전 클래스 이름)을 .oracle.jdbc.driver.OracleDriver.

지정된 클래스가 현재 클래스 로더에 의해 로드되는지 확인하는 것 에는 데이터베이스에 연결하는 것과 관련하여 "처리"하지 않습니다.쓰는 것과 쓰는 것에는 근본적인 차이가 없다.

Class<?> driverClass = Class.forName("oracle.jdbc.driver.OracleDriver");
// and
Class<?> stringClass = Class.forName("java.lang.String");

Class.forName("com.example.some.jdbc.driver")JDBC를 사용하는 레거시코드에 콜이 표시됩니다.이는 JDBC 드라이버를 로드하는 레거시 방식이기 때문입니다.

Java 튜토리얼에서:

JDBC에서는.Class.forName이에는 .했습니다.java.sql.Driver에는, 「JDBC」를 되어 있습니다.java.sql.Driver.

JDBC 4.0보다 전의 으로 로드 할 가 있습니다, 4.보다 전의 드라이버는 , 방법( 「」, JDBC 4.0보다 전의 드라이버는 으로 로드 할 필요가 있습니다.Class.forName

추가 정보

다음과 같은 형태로 드라이버를 등록합니다.

public class SomeDriver implements Driver {
  static {
    try {
      DriverManager.registerDriver(new SomeDriver());
    } catch (SQLException e) {
      // TODO Auto-generated catch block
    }
  }

  //etc: implemented methods
}

Java JDBC 튜토리얼에서 다음을 수행합니다.

JDBC에서는.Class.forNameJDBC 4.0보다 전의 으로 로드 할 가 있습니다, 4.보다 전의 드라이버는 , 방법( 「」, JDBC 4.0보다 전의 드라이버는 으로 로드 할 필요가 있습니다.Class.forName

Java 1.) 11g(11.1)에 전화할 Class.forName그렇지 않으면 드라이버를 초기화하기 위해 호출해야 합니다.

보다 이전 6보다 이전 버전DriverManager어떤 JDBC 드라이버를 사용하고 싶은지 클래스에서는 알 수 없습니다. Class.forName("...")드라이버 클래스를 미리 로드하는 방법이었습니다.

Java 6을 사용하는 경우 더 이상 이 작업을 수행할 필요가 없습니다.

이 명령은 DriverManager 인스턴스에서 사용할 수 있도록 Oracle jdbc 드라이버 클래스를 로드합니다.클래스가 로드되면 시스템은 클래스를 사용하여 Oracle에 연결할 수 있습니다.대신 Driver Manager의 registerDriver 메서드를 사용하여 필요한 JDBC 드라이버 인스턴스와 함께 전달할 수 있습니다.

또는 JVM을 시작할 때 jdbc.drivers System 속성을 사용하여 명령줄에서 필요한 드라이버를 지정할 도 있습니다.

oracle.jdbc를 사용합니다.Oracle.jdbc.driver가 아닌 OracleDriver.Oracle 드라이버드라이버 jar 파일이 「WEB-INF\lib」디렉토리에 있는 경우는, Tomcat 를 사용하고 있는 경우는 등록할 필요가 없습니다.이를 test.jsp로 저장하고 웹 디렉토리에 저장한 후 Tomcat Manager에서 웹 앱 폴더를 다시 배포합니다.

<%@ page import="java.sql.*" %>

<HTML>
<HEAD>
<TITLE>Simple JSP Oracle Test</TITLE>
</HEAD><BODY>
<%
Connection conn = null;
try {
    Class.forName("oracle.jdbc.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:thin:@XXX.XXX.XXX.XXX:XXXX:dbName", "user", "password");
    Statement stmt = conn.createStatement();
    out.println("Connection established!");
}
catch (Exception ex)
{
    out.println("Exception: " + ex.getMessage() + "");

}
finally
{
    if (conn != null) {
        try {
            conn.close();   
        }
        catch (Exception ignored) {
            // ignore
        }
    }
}

%>

언급URL : https://stackoverflow.com/questions/8053095/what-is-the-actual-use-of-class-fornameoracle-jdbc-driver-oracledriver-while

반응형