有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java编译错误。mysql。jdbc。驱动程序无法解析为变量

我几乎不熟悉预先打包的STS。我正在Fedora17上的Eclipse/Spring中试用JDBC for MySQL

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

  1. 创建了一个项目,并将其命名为JDBC
  2. 在项目下创建了一个名为“lib”的文件夹
  3. 转到项目>;财产。选择Java构建路径,然后选择“库”选项卡。点击“添加JAR”选择的JDBC>;lib>;mysql---。然后点击OK。这在ProjectExplorer窗格下添加了一个“引用库”,我在其中看到了mysql jar文件
  4. 在项目下编写了以下代码

我觉得我已经完成了编译所需的工作。然而,我看到

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

com。mysql。jdbc。驱动程序无法解析为变量

你能告诉我这里怎么了吗

    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();
            }
        }
    }

共 (2) 个答案

  1. # 1 楼答案

    您要使用:

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

    在将来,请注意编译器会告诉您它期望的是什么:一个变量。你只需要弄清楚如何将你拥有的东西修改或转换成它想要的东西。在这种情况下,可以使用任何转换为值的东西(常数、变量或返回值的方法)

  2. # 2 楼答案

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

    或者

    Class.forName(com.mysql.jdbc.Driver.class.getName());
    

    这样效果会更好。 (第二个可以编译,但没有真正意义,因为它假设类已经加载:)