Ele obtém uma referência ao objeto de classe com o FQCN (nome de classe totalmente qualificado) oracle.jdbc.driver.OracleDriver
.
Ele não "faz" nada em termos de conexão a um banco de dados, além de garantir que a classe especificada seja carregada pelo carregador de classe atual . Não há diferença fundamental entre escrever
Class<?> driverClass = Class.forName("oracle.jdbc.driver.OracleDriver");
// and
Class<?> stringClass = Class.forName("java.lang.String");
Class.forName("com.example.some.jdbc.driver")
as chamadas aparecem no código legado que usa JDBC porque essa é a maneira legada de carregar um driver JDBC .
Do Tutorial Java :
Nas versões anteriores do JDBC, para obter uma conexão, primeiro você precisava inicializar o driver JDBC chamando o método Class.forName
. Este método requer um objeto do tipo java.sql.Driver
. Cada driver JDBC contém uma ou mais classes que implementam a interface java.sql.Driver
.
...
Todos os drivers JDBC 4.0 encontrados em seu caminho de classe são carregados automaticamente. (No entanto, você deve carregar manualmente todos os drivers anteriores ao JDBC 4.0 com o método Class.forName
.)
Leitura adicional (leia: perguntas de que é uma cópia)