我无法使用Java连接到MariaDB(未找到驱动程序)

k4ymrczo  于 2023-06-22  发布在  Java
关注(0)|答案(1)|浏览(226)

我试图连接到MariaDB,但它不工作
下面是我的代码:

String url = "jdbc:mariadb://192.168.1.45:3306";
    String username = "...";
    String password = "...";

    System.out.println("Connecting database...");
    Class.forName("com.mysql.cj.jdbc.Driver");

    try (Connection con = DriverManager.getConnection(url, username, password);) {
    } catch (Exception e) {
        System.out.println("Failed " + e);
    }

我总是得到这个错误:

java.sql.SQLException: No suitable driver found for jdbc:mariadb://192.168.1.45:3306

我能做些什么来修复它?

f2uvfpb9

f2uvfpb91#

你应该看看MariaDB的文档:https://mariadb.com/kb/en/about-mariadb-connector-j/#getting-a-new-connection
它说:

获取新连接

有两种标准的连接方式:

使用DriverManager

使用MariaDB Connector/J获得连接的首选方法是使用DriverManager类。当DriverManager类用于定位和加载MariaDB Connector/J时,应用程序不需要进一步配置。DriverManager类将自动加载MariaDB Connector/J,并允许以与任何其他JDBC驱动程序相同的方式使用它。
例如:

Connection connection = DriverManager.getConnection("jdbc:mariadb://localhost:3306/DB?user=root&password=myPassword");

加载JDBC驱动程序的传统方式仍然适用于MariaDB Connector/J。例如:Class.forName("org.mariadb.jdbc.Driver")
jdbc:mysql scheme compatibility MariaDB Connector/J 3.0只接受jdbc:mariadb:默认情况下,作为连接字符串中的协议。当在class-path中同时找到MariaDB Connector/J和MySQL驱动程序时,使用jdbc:mariadb:因为该协议有助于确保Java选择MariaDB Connector/J。
但这意味着您已经在CLASSPATH上安装了正确的Jar文件;详情请看这里。
从您的代码和报告的错误消息来看,CLASSPATH上没有MariaDB JDBC驱动程序,但MySQL上有。

相关问题