Java “NetBeans中的错误”;Class.forName(“com.mysql.jdbc.Driver”)&引用;
我正在使用netbeans 8.2和mysql 8.0,并将mysql connector 8.0.11导入库文件,以及以下java代码Java “NetBeans中的错误”;Class.forName(“com.mysql.jdbc.Driver”)&引用;,java,mysql,Java,Mysql,我正在使用netbeans 8.2和mysql 8.0,并将mysql connector 8.0.11导入库文件,以及以下java代码 package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class JDBC { public static void main(String[] args) { Stri
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JDBC {
public static void main(String[] args) {
String SQL="Insert into Customer Values('C111','Somadasa','Matugama',34000)";
Class.forName("com.mysql.jdbc.Driver");
Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3308/ThogaKade", "root", "ftwxy");
Statement stm=connection.createStatement();
stm.executeUpdate(SQL);
}
}
但以下几行已经被强调
Class.forName(“com.mysql.jdbc.Driver”)代码>
Connection-Connection=DriverManager.getConnection(“jdbc:mysql://localhost:3308/ThogaKade“、”根“、”mysql”)代码>
带有消息“unreported exception ClassNotFoundException”;必须被抓住或宣布被抛出
----'
如何解决此问题?只需在方法签名中添加抛出,如下所示:
public static void main(String[] args) throws ClassNotFoundException{
//method body
}
您可以指定main
抛出异常。像
或,您可以使用try catch
(最好使用try with Resources
)例如
使用资源进行尝试的优点是它将关闭()
您的连接和语句(s)正确。最后,自Java 6以来,您实际上不需要显式加载带有Class.forName(String)
的JDBC驱动程序。这是因为Class.forName
和DriverManager.getConnection
抛出需要处理的异常。
修复此错误的最简单方法是使您的main
方法抛出Exception
大概是这样的:
public static void main(String[] args) throws Exception {
// your code here
}
public static void main(String[] args) {
String SQL="Insert into Customer Values('C111','Somadasa','Matugama',34000)";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3308/ThogaKade", "root", "ftwxy");
Statement stm=connection.createStatement();
stm.executeUpdate(SQL);
} catch (Exception ex) {
ex.printStackTrace(System.err);
}
}
另一种方法是将代码封装在try-catch
块中。
大概是这样的:
public static void main(String[] args) throws Exception {
// your code here
}
public static void main(String[] args) {
String SQL="Insert into Customer Values('C111','Somadasa','Matugama',34000)";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3308/ThogaKade", "root", "ftwxy");
Statement stm=connection.createStatement();
stm.executeUpdate(SQL);
} catch (Exception ex) {
ex.printStackTrace(System.err);
}
}
希望这有帮助