java找不到适合jdbc的驱动程序?
我从Oracle的网站上获取了这个示例,但我无法实现它。它不断地显示错误。我已经将mysql 5.1驱动程序jar添加到我的项目库文件夹中 以及我的构建路径。如何修复代码
链接-http://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
错误-
java.sql.SQLException: No suitable driver found for jdbc:JavaEE://localHost:3306/
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at com.beans.us.dao.Data.getConnection(Data.java:25)
at com.beans.us.dao.Data.main(Data.java:43)
Cannot connect to database
代码-
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class Data {
public static Connection getConnection() {
Connection conn = null;
Properties connectionProps = new Properties();
String userName = "root";
String password = "root";
String dbms = "JavaEE";
String serverName = "localHost";
String portNumber = "3306";
connectionProps.put("user", userName);
connectionProps.put("password", password);
try {
conn = DriverManager.getConnection("jdbc:" + dbms + "://"
+ serverName + ":" + portNumber + "/", connectionProps);
} catch (SQLException sQLException) {
sQLException.printStackTrace();
}
if (conn != null) {
System.out.println("Connected to database");
} else {
System.out.println("Cannot connect to database");
}
return conn;
}
public static void main(String[] args) {
getConnection();
}
}
# 1 楼答案
您的连接字符串是:
但MySQL应该是这样的
此外,您忘记加载驱动程序:
需要在打电话之前完成
# 2 楼答案
您的jdbc字符串格式不正确,请查看以下问题的答案:
What is the MySQL JDBC driver connection string?
# 3 楼答案
你好像忘了给司机装东西了
Class.forName()
使类加载器将类加载到内存中。JDBC驱动程序类包含一个静态初始值设定项块,它将驱动程序注册到DriverManager
以供以后参考之前没有注意到这一点,您的连接字符串应该是
"jdbc:mysql://localhost:3306/dbname"