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

Bedre forståelse - Class.forName(com.mysql.jdbc.Driver).newInstance ();

Denne kode tvinger klassen, der repræsenterer MySQL-driveren, til at indlæse og initialisere. I Java indlæses en klasse ikke, medmindre det er nødvendigt at klassen bliver læsset. Da JDBC-kode normalt aldrig refererer direkte til driveren, ville den ikke blive indlæst uden Class.forName (eller andre tilsvarende alternativer).

Bemærk, at det er nødvendigt både at indlæse og initialiser klassen, som er 2 forskellige ting.

Bemærk også, at det ikke er nødvendigt at kalde .newInstance() -- den statiske initialisering af driveren registrerer allerede sig selv som en JDBC-driver.

Bemærk endelig, at med Service Loader API det er normalt ikke nødvendigt at kalde Class.forName() for at indlæse driveren:den kan indlæses automatisk.



  1. Hvordan genererer man automatisk et unikt id i SQL som UID12345678?

  2. Ugyldigt fælles bruger- eller rollenavn

  3. Oracle:OALL8 er i en inkonsekvent tilstand

  4. DateTimeField modtog et naivt datetime