2012-12-02 64 views
5

我幾乎不熟悉預先捆綁的STS。我在Eclipse/Spring上嘗試了JDBC for MySQL在Fedora 17上下載mysql JDBC驅動程序(mysql-connector-java-5.1.22-bin.jar)。然後在IDE編譯錯誤 - com.mysql.jdbc.Driver無法解析爲變量

  1. 創建了一個項目,並把它命名爲JDBC
  2. 創建一個項目
  3. 下,所謂的「LIB」文件夾又到項目>屬性。選擇Java Build Path,然後選擇「庫」選項卡。點擊'Add Jars'Selected JDBC> lib> mysql ---。jar並單擊OK。這在Project Explorer窗格下添加了一個'Referenced Libraries',在這個'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
Class.forName("com.mysql.jdbc.Driver"); 

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

會更好地工作。 (第二屆一個編譯,但並沒有真正意義的事業它假定類已經被加載:)

+1

我沒有意識到我錯過了雙引號。那麼,我已付出了不知不覺的代價。謝謝 – rpat

4

你想使用:

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

在未來,注意,編譯器告訴你它期望什麼:一個變量。你只需要弄清楚如何修改或轉換你想要的東西。在這種情況下,可以使用任何轉換爲​​值(常量,變量或返回值的方法)。