2013-11-28 113 views
0

所以这是我的事。我正试图连接从Java的MySQL数据库。我已经从MySQL下载连接器驱动程序(其名称为“mysql-connector-java-5.0.8-bin.jar”),并将其添加到我的库中(使用NetBeans的Im)。我试图做这样的简单连接:从IDE连接到MySQL数据库Netbeans

package datacon; 

public class Datacon { 

    public static void main(String[] args) { 

     try { 

      java.sql.Connection con = (java.sql.Connection) java.sql.DriverManager 
       .getConnection("jdbc:mysql://localhost:3306/test" 
       /*, "root" 
        , "root" */); 

     } catch (Exception e) { 
      System.out.println(e.toString()); 
     } 
    } 
} 

但这hapened:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test 

我做我的研究网络,这很常见的事,但没有一个答案帮助了我。我能够通过NetBeans /服务连接到数据库,因此URL jdbc:mysql:// localhost:3306/test应该是正确的。

我使用:

java: Oracle java SDK 1.7.0 _ 45 
IDE: NetBeans 7.4 
OS:  Debian 3.2.51-1 x86_64 
Driver: MySQL Connector/J 5.0.8 

这恐怕是要去有一个很琐碎的答案,但我现在困在这里了一段时间,我需要移动。那么我错过了什么?

回答

1

地址:

static { 
    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
    } catch (final ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 
+1

静态不需要。作为解释:驱动程序类以这种方式加载,因此不需要导入特定的数据库提供程序,也不能使用特定的提供程序功能扩展API。 –

+0

我很惊讶。我做了工作,现在我需要研究为什么。谢谢! – Addman

1

我的事情你忘了加载驱动程序。

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

并确保您的课程路径中有mysql-connector-java-5.1.22-bin

0
try { 
     Class.forName("org.gjt.mm.mysql.Driver"); 
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root"); 
    } catch(ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 
0

尝试{ 的Class.forName( “com.mysql.jdbc.Driver”);

 driver.getconnection("connenctionurl","name","password"); 

      Statement s =goodrecive.asif().createStatement(); 
      s.executeUpdate("INSERT INTO product(productno,productname,quantity,ammount)values('"+t1.getText()+"','"+t2.getText()+"','"+t3.getText()+"','"+t4.getText()+"')"); 

    } catch (Exception e) { 
     System.out.println(e); 
    } 
}       
0

我的连接类:

package connection; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class ConnectionFactory { 
    public Connection getConnection() throws SQLException { 
     return DriverManager.getConnection("jdbc:mysql://localhost:3306/<database>", "<user>", "<password>"); 
    }   
} 

不需要添加的classforname。在老版本的java中这是必需的。