在IDE Netbeans中从java连接到MySQL数据库

在IDE Netbeans中从java连接到MySQL数据库,java,mysql,netbeans,jdbc,Java,Mysql,Netbeans,Jdbc,这就是我的事。我正在尝试从java连接do MySQL数据库。我从MySQL下载了连接器驱动程序(称为“MySQL-connector-java-5.0.8-bin.jar”),并将其添加到我的库中(我使用NetBeans)。我尝试过这样简单的连接: package datacon; public class Datacon { public static void main(String[] args) { try { java.sql.

这就是我的事。我正在尝试从java连接do MySQL数据库。我从MySQL下载了连接器驱动程序(称为“MySQL-connector-java-5.0.8-bin.jar”),并将其添加到我的库中(我使用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() );
        }
    }
}
但这种情况发生了:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/test
我在互联网上做了研究,这是一件很平常的事情,但没有一个答案对我有帮助。我能够通过NetBeans/services连接到数据库,因此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
我恐怕这将有一个非常琐碎的答案,但我现在被困在这里一段时间了,我需要离开。那么我错过了什么

添加:

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

我想你忘了装司机了

Class.forName("com.mysql.jdbc.Driver");
并确保类路径中有
mysql-connector-java-5.1.22-bin

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


我的连接类:

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>");
    }        
}   
包连接;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.SQLException;
公共类连接工厂{
公共连接getConnection()引发SQLException{
返回DriverManager.getConnection(“jdbc:mysql://localhost:3306/", "", "");
}        
}   

不需要添加ClassForName。这在较旧版本的java中是必需的。

静态不需要。作为说明:驱动程序类是以这种方式加载的,因此不需要导入特定的db提供程序,而且API也不能使用特定的提供程序功能进行扩展。
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>");
    }        
}