Class.forName("com.jdbc.mysql.Driver")的作用
在练习JDBC时,对Class.forName("com.jdbc.mysql.Driver")的作用不是很了解,想要弄清楚它的作用,必须从源代码入手
package com.mysql.cj.jdbc; import java.sql.SQLException; public class Driver extends NonRegisteringDriver implements java.sql.Driver { // // Register ourselves with the DriverManager // static { try { java.sql.DriverManager.registerDriver(new Driver()); } catch (SQLException E) { throw new RuntimeException("Cant register driver!"); } } /** * Construct a new driver and register it with DriverManager * * @throws SQLException * if a database error occurs. */ public Driver() throws SQLException { // Required for Class.forName().newInstance() } }
从源代码中可以看到,使用Class.forName("com.jdbc.mysql.Driver")加载类的时候,Driver类静态代码块中的会执行,作用是将驱动注册到DriverManager里
下一篇:
【超详细】mysql数据库如何卸载干净