我使用以下代码段将我的java应用程序连接到mySQL DB,但它给出了一个错误,我无法弄清楚原因。
try {
con = null;
String url = "jdbc:mysql://localhost:3306/";
String db = "ass1";
String driver = "com.mysql.jdbc.Driver";
String user = "";
String pass = "";
System.out.println("OK 1"); //Checkpoint 1
Class.forName(driver).newInstance();
System.out.println("OK 2"); //Checkpoint 2
con = DriverManager.getConnection(url + db, user, pass);
System.out.println("OK 3"); //Checkpoint 3
}
catch (Exception e) {
System.out.println(e.getMessage());
}
异常(输出):
run:
OK 1
com.mysql.jdbc.Driver
null
BUILD SUCCESSFUL(total time: 13 seconds)
所以例外是驱动程序本身。这是我第一次遇到这个问题。
P.S。:请忽略检查点。
答案 0 :(得分:1)
无需调用 newInstance()方法。
Class.forName(driver);
就够了。检查构建路径中是否有所需的jar?
另一个建议
始终尝试使用printStackTrace()
getMessage()
个实例
答案 1 :(得分:0)
您不需要实例化驱动程序,只需调用它的静态初始化(例如,通过调用Class.forName
),以便它在DriverManager
中注册:
System.out.println("OK 1"); //Checkpoint 1
Class.forName(driver); // no .newInstance() !
System.out.println("OK 2"); //Checkpoint 2
con = DriverManager.getConnection(url + db, user, pass);