找不到适合jdbc.mysql的驱动程序

zu0ti5jz  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(467)

我是一个学java的学生,我被一个无法解决的错误难住了。
上面提到的错误是

No suitable driver found for jdbc.mysql

我已经导入了这个库并在代码中指定了它,我还尝试了许多用户在stackoverflow上发布的解决方案,但是什么都没有。如果有人有任何进一步的建议,我们将不胜感激
我的代码
(我不得不将xampp服务器conf文件更改为侦听端口8080,因为80被pid4“system”占用)

public class DBConnect {

  String DB_URL = "jdbc.mysql://localhost:3306/phpmyadmin/BCStationary?";

  public DBConnect() throws ClassNotFoundException {
    Connection conn = null;

    try {
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      Class.forName("com.mysql.jdbc.Driver");
      conn = DriverManager.getConnection(DB_URL, "root", "");
      System.out.println("Connection Successful");
    } catch (SQLException ex) {
      System.out.println("Conn error ");
      Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
}
shstlldc

shstlldc1#

try{
    Class.forName("com.mysql.jdbc.Driver");
       Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306  /dbname","UserName","Password");

     }catch(Exception e){e.printStackTrace();}

    please add mysql-3.0.5-connector jar  file
   there is not required to registerDriver and other
rkue9o1l

rkue9o1l2#

Class.forName("com.mysql.jdbc.driver"); 应该在前面 DriveManager.registerDriver . DriveManager.registerDriver 也不需要使用。
您可以通过以下方式简单地使用您的方法:

public DBConnect() throws ClassNotFoundException {
    Connection conn = null;

    try {
      //Call to .newInstance() is a work around for some
      // broken java instances.
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      conn = DriverManager.getConnection(DB_URL, "root", "");
      System.out.println("Connection Successful");
    } catch (SQLException ex) {
      System.out.println("Conn error ");
      Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
    }
  }

如果您使用的是最新的mysql驱动程序(mysql connector 8.0),那么该类是 com.mysql.cj.jdbc.Driver https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-connect-drivermanager.html

rqqzpn5f

rqqzpn5f3#

您的url中有一个输入错误,它不符合标准协议。
用途:

"jdbc:mysql://localhost:3306/..."

(注意冒号而不是中间的点。) jdbc 以及 mysql ).
笔记
如果不使用参数,就不需要在结尾打问号。但如果数据库需要身份验证,则需要属性或get like参数等。
我不太清楚 phpmyadmin 部分。我怀疑您需要删除它并直接指向您的数据库名称。
不需要显式注册驱动程序。在java<=6中,仍然需要反射 Class.forName 调用。

相关问题