小编典典

Class.forName(“ com.mysql.jdbc.Driver”)。newInstance()到底是做什么的?

jsp

连接到MySQL数据库时,请执行以下步骤

Connection con = null;
Resultset rs = null;
Statement st = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","passwp");

实际上,我想知道Class.forName("com.mysql.jdbc.Driver").newInstance();语句的作用。

此类不在mysql.jar中。它在哪里?


阅读 520

收藏
2020-06-08

共1个答案

小编典典

Class类位于java.lang包,因此在分布用java,并自动导入到每个班级。

forName()方法所做的只是返回Class由类加载器加载的参数对象。newInstance()然后,该方法返回该类的新实例。

因此,发生什么情况是您将 Class.forName(...)
其称为com.mysql.jdbc.Driver.class。然后newInstance(),您调用该类,该类返回该类的实例,没有任何参数,因此基本上是在调用new com.mysql.jdbc.Driver();

2020-06-08