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

问题描述

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

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

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

解决方法

连接到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中。它在哪里?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...