当前位置: 首页 > 面试题库 >

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

董阳平
2023-03-14
问题内容

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


问题答案:

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

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

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



 类似资料:
  • 问题内容: 我在Netbeans 7.2上遇到此错误,它说ClassNotFoundexception和InstantationException。我真的在这个问题上陷入困境。请帮助我。 问题答案: 那么这个简单的方法呢? 我也想知道为什么您要用这种方式连接数据库?最好让服务器对其进行管理。 首先像这样配置(如果您使用的是tomcat): 然后,简单地从servlet / etc中的该资源获取连接

  • 问题内容: 和之间有什么区别? 我不了解其中的重大区别(我已经阅读了一些有关它们的信息!)。请你帮助我好吗? 问题答案: 也许一个示例演示如何使用两种方法将有助于你更好地理解事物。因此,请考虑以下类: 如其javadoc中所述,调用将返回与具有给定字符串名称的类或接口关联的对象,即它返回受type变量影响的对象。 然后,调用创建该 对象表示的类的新实例。就像通过带有空参数列表的表达式实例化该类。换

  • 问题内容: 这个问题已经在这里有了答案 : 如何在Eclipse Web项目中安装JDBC驱动程序而不面对java.lang.ClassNotFoundexception (13个答案) 3年前关闭。 我正在开发一个Web应用程序,使用:Eclipse IDE(Marse),Java 8,Apache tomcat 8,MySQL。我的用户注册代码如下: 我的代码也是正确的,并且我在Eclipse

  • 问题内容: 我正在尝试使用SQLite数据库创建一个简单的应用程序。我选择使用SQLiteJDBC驱动程序。 以下代码取自上述网站。我的问题是关于公共static void main之后的行… 内容为: 我的问题是,这行是什么意思?它是做什么的?它似乎没有与其余代码关联。应该返回一个类,但该行似乎在人体内部独立存在。我可以看到,返回的任何内容都未被代码的另一部分使用。 请帮助澄清这一点。提前致谢。

  • 问题内容: 在Tour of Go网站的go 1.5发行之前的版本中,有一段代码看起来像这样。 输出看起来像这样: 令我困扰的是,将其删除后,该程序不再显示“世界”。 为什么呢?如何影响执行力? 问题答案: 注意: 从Go 1.5开始,将GOMAXPROCS设置为硬件内核数:golang.org/doc/go1.5#runtime,低于1.5之前的原始答案。 当您在未指定GOMAXPROCS环境变

  • 根据几个因素(包括OS/浏览器组合),WebDriver可能等待或不等待页面加载。在某些情况下,WebDriver可能会在页面完成加载或甚至开始加载之前返回控制 有人能解释一下在什么情况下WebDriver会在页面完成甚至开始加载之前返回控制吗?