DriverManager.getConnection返回null

时间:2014-09-24 19:28:43

标签: java mysql jdbc

我正在尝试使用一个过去对我来说很有用的Java类,以便从我的JSP项目中运行MySQL,运行Tomcat 6.问题是,这一行:

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "password");

给con值为null。

现在,我的问题是 - 是什么导致“getConnection”方法返回null?

编辑:我现在也看到了,我得到了臭名昭着的ClassNotFoundException:com.mysql.jdbc.Driver。 我的构建路径中包含连接器。那我为什么会收到这个错误呢?并且,它是否与getConnection返回null有关?

4 个答案:

答案 0 :(得分:0)

您需要先初始化驱动程序,然后才能从DriverManager获得连接。

Class.forName("com.mysql.jdbc.Driver"); 

答案 1 :(得分:0)

您的网址不完整。 jdbc:mysql://localhost:3306之后应该是数据库名称。

麻烦拍摄步骤:

  1. 检查端口
  2. 检查数据库服务器是否已打开

答案 2 :(得分:0)

根据这篇文章(有一个很好的例子)http://www.vogella.com/tutorials/MySQLJava/article.html

" CON"如果getConnection抛出异常并且在代码中被捕获,则为null。

像:

Connection con = null;
 try{ 
con = DriveManager.getConnection("Not right url");   

}catch(SQLException sqlE){};
System.out.println(con); //it will be null

你需要做

   connect = DriverManager.getConnection("jdbc:mysql://localhost/feedback?"
          + "user=sqluser&password=sqluserpw");

所以也许有" user = root& password = password"

如果有ClassNotFoundException,你很可能需要一个jar文件

DriverManager API: http://docs.oracle.com/javase/7/docs/api/java/sql/DriverManager.html#getConnection(java.lang.String)

答案 3 :(得分:0)

如果您正在使用JDBC 3,则需要加载

之类的驱动程序
Class.forName("com.mysql.jdbc.Driver"); 

如果您正在使用JDBC 4,则不再需要手动加载JdbcDriver。

然后将有效connection_url传递给getConnection

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/yourDbName", "root", "password");

最后确保mysql driver jar在类路径中。