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