Mysql
 sql >> Database >  >> RDS >> Mysql

Migliore comprensione - Class.forName(com.mysql.jdbc.Driver).newInstance ();

Quel codice sta forzando il caricamento e l'inizializzazione della classe che rappresenta il driver MySQL. In Java, una classe non viene caricata a meno che non sia necessaria che la classe venga caricata. Poiché il codice JDBC di solito non fa mai riferimento direttamente al driver, non verrebbe caricato senza Class.forName (o altre alternative equivalenti).

Nota che è necessario entrambi caricare e inizializzazione la classe, che sono 2 cose diverse.

Inoltre, nota che non è necessario chiamare .newInstance() -- l'inizializzatore statico del driver si registra già come driver JDBC.

Infine, tieni presente che con l'API Service Loader di solito non è necessario chiamare Class.forName() per caricare il driver:può essere caricato automaticamente.