5

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

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

  1. 创建了一个项目并将其命名为 JDBC
  2. 在项目下创建了一个名为“lib”的文件夹
  3. 去 Project > Properties 。选择 Java 构建路径,然后选择“库”选项卡。单击“添加罐子”选择 JDBC > lib > mysql---.jar 并单击确定。这在 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();
            }
        }
    }
4

2 回答 2

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

或者

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

会工作得更好。(第二个编译但没有真正意义,因为它假设类已经加载:)

于 2012-12-02T15:10:38.977 回答
4

你想使用:

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

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

于 2012-12-02T15:10:42.877 回答