连接到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();语句的作用。
Class.forName("com.mysql.jdbc.Driver").newInstance();
此类不在mysql.jar中。它在哪里?
本Class类位于java.lang包,因此在分布用java,并自动导入到每个班级。
Class
该forName()方法所做的只是返回Class由类加载器加载的参数对象。newInstance()然后,该方法返回该类的新实例。
forName()
newInstance()
因此,发生什么情况是您将 Class.forName(...) 其称为com.mysql.jdbc.Driver.class。然后newInstance(),您调用该类,该类返回该类的实例,没有任何参数,因此基本上是在调用new com.mysql.jdbc.Driver();。
Class.forName(...)
new com.mysql.jdbc.Driver();