Java使用JDBC连接到MySQL数据库
我试图创建一个程序,使用JDBC连接到MySQL数据库。但当我尝试运行它时,会出现以下错误:-Java使用JDBC连接到MySQL数据库,java,mysql,maven,jdbc,Java,Mysql,Maven,Jdbc,我试图创建一个程序,使用JDBC连接到MySQL数据库。但当我尝试运行它时,会出现以下错误:- java.sql.SQLException: No suitable driver found for a9442ca6-992c-411b-8bda-a42f00a0ab2e.mysql.sequelizer.com at java.sql.DriverManager.getConnection(DriverManager.java:596) at java.sql.DriverMa
java.sql.SQLException: No suitable driver found for a9442ca6-992c-411b-8bda-a42f00a0ab2e.mysql.sequelizer.com
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at DVDLibrary.MySQLDBConnection.testConnect(MySQLDBConnection.java:24)
at DVDLibrary.MainClass.main(MainClass.java:12)
我已经安装了Maven,并将MySQL依赖项添加到POM文件中(见下文)。但是我的程序仍然无法运行。有人能帮忙吗
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
package DVDLibrary;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLDBConnection {
public void testConnect(){
String dbUrl = "xxx";
String username = "xxx";
String password = "xxx";
String dbClass = "com.mysql.jdbc.Driver";
String query = "SELECT * FROM DVD Info Table";
try {
Class.forName(dbClass);
Connection connection = DriverManager.getConnection(dbUrl, username, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(query);
while (resultSet.next()) {
String tableName = resultSet.getString(1);
System.out.println(tableName);
}
connection.close();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
您必须将mysql-connector-java-5.1.18-bin jar添加到库中 这是一个示例类,包含打开和关闭数据库连接的方法
public class Database {
public static Connection con() throws ClassNotFoundException, SQLException{
Class.forName("com.mysql.jdbc.Driver");
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/DatabaseName", "User", "Password");
return c ;
}
public static void con_close(Connection c) {
try {
if(c!=null)
c.close();
} catch (SQLException sQLException) {
System.out.println(sQLException + "Database connection closing failure");
}
}
public static void stmt_close(Statement s) {
try {
if(s!=null)
s.close();
} catch (SQLException sQLException) {
System.out.println(sQLException + "Statement closing failure");
}
}
public static void rs_close(ResultSet r) {
try {
if(r!=null)
r.close();
} catch (SQLException sQLException) {
System.out.println(sQLException + "ResultSet closing failure");
}
}
}
请将mysql JDBC驱动程序添加到类路径,然后重试。您可以从下载它,或者如果您没有它并加载它。事情应该会好起来的。 下面是一个示例代码:
Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql:localhost:3306/Database", "username",
"password");
if (!conn.isClosed())
return conn;
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return null;
}
您的类路径中是否有连接器/jjar?dbUrl的可能重复项不应该是:“jdbc:mysql//someHost:3306/someDbName”?您好。谢谢你的帖子:-)。我已经下载了JDBC驱动程序并将其添加到我的项目中。但是我仍然有同样的问题。你检查过你的dbURL了吗?因为它应该从jdbc:mysql:ip:port/db syntax开始,你正在使用哪个ide?是的,谢谢大家的帮助。我的dbUrl开头缺少了“jdbc:mysql:”部分,这是一个问题。现在都在工作。
Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql:localhost:3306/Database", "username",
"password");
if (!conn.isClosed())
return conn;
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return null;
}