编译错误 - com.mysql.jdbc.Driver无法解析为变量

rpa*_*pat 5 java eclipse jdbc

我对预先捆绑的STS几乎不熟悉.我正在Fedora 17上的Eclipse/Spring中试用JDBC for MySQL

下载了mysql JDBC驱动程序(mysql-connector-java-5.1.22-bin.jar).然后在IDE中

  1. 创建了一个项目并将其命名为JDBC
  2. 在项目下创建了一个名为"lib"的文件夹
  3. 去项目>属性.选择Java Build Path,然后选择'Libraries'选项卡.点击'Add Jars'Selected JDBC> lib> mysql --- .jar并点击OK.这在Project Explorer窗格下添加了一个'Referenced Libraries',在其下我看到了mysql jar文件.
  4. 在项目下写了下面的代码

我觉得我已经完成了编译所需的工作.但是,我看到了

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();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

maz*_*cha 4

Class.forName("com.mysql.jdbc.Driver");
Run Code Online (Sandbox Code Playgroud)

或者

Class.forName(com.mysql.jdbc.Driver.class.getName());
Run Code Online (Sandbox Code Playgroud)

会工作得更好。(第二个可以编译,但实际上没有意义,因为它假设该类已经加载:)