我正在尝试使用一个过去对我来说很有用的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有关?
答案 0 :(得分:0)
您需要先初始化驱动程序,然后才能从DriverManager获得连接。
Class.forName("com.mysql.jdbc.Driver");
答案 1 :(得分:0)
您的网址不完整。 jdbc:mysql://localhost:3306
之后应该是数据库名称。
麻烦拍摄步骤:
答案 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
在类路径中。