Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Melhor compreensão - Class.forName(com.mysql.jdbc.Driver).newInstance();


Esse código está forçando a classe que representa o driver MySQL a carregar e inicializar. Em Java, uma classe não é carregada a menos que seja necessário que a classe é carregada. Como o código JDBC geralmente nunca faz referência direta ao driver, ele não seria carregado sem Class.forName (ou algumas outras alternativas equivalentes).

Observe que é necessário carregar e inicializar a classe, que são 2 coisas diferentes.

Além disso, observe que não é necessário chamar .newInstance() -- o inicializador estático do Driver já se registra como um driver JDBC.

Por fim, observe que, com a API Service Loader geralmente não é necessário chamar Class.forName() para carregar o driver:ele pode ser carregado automaticamente.