我对预先捆绑的STS几乎不熟悉。我在Fedora 17上的Eclipse / Spring中尝试使用JDBC for JDBC
下载mysql JDBC驱动程序(mysql-connector-java-5.1.22-bin.jar)。然后在IDE中
我觉得我已经完成了编译所需的工作。但是,我正在看
Class.forName(com.mysql.jdbc.Driver);
com.mysql.jdbc.Driver无法解析为变量
你能告诉我这里有什么问题。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestJDBC {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Connection connection = null;
Statement statement = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
Class.forName(com.mysql.jdbc.Driver);
connection = DriverManager.getConnection("jdbc:mysql://localhost/testdb?" +
"user=myuser&password=mypwd");
if (connection != null) {
System.out.println ("Connected may be?");
connection.close();
}
else {
System.out.println ("Not connected?");
}
}
catch (Exception e) {
connection.close();
}
}
}
答案 0 :(得分:4)
Class.forName("com.mysql.jdbc.Driver");
或
Class.forName(com.mysql.jdbc.Driver.class.getName());
会更好。 (第二个编译,但实际上没有意义,因为它假设已经加载了类:)
答案 1 :(得分:4)
您想使用:
Class.forName("com.mysql.jdbc.Driver");
将来,请注意编译器告诉您它的期望:变量。你只需要弄清楚如何修改或转换你想要的东西。在这种情况下,可以使用任何转换为值的值(常量,变量或返回值的方法)。