【问题标题】:Can't connect to my database on MariaDB using JDBC无法使用 JDBC 连接到 MariaDB 上的数据库
【发布时间】:2021-04-26 09:16:54
【问题描述】:

我正在尝试使用 JDBC 连接到名为“CompanyCSV”的数据库,但是当我尝试连接时显示“没有找到适合 jdbc:mariadb://localhost:3306/companyCSV 的驱动程序”,代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Connectar {
    
    public static void main(String[] args) {

        String url = "jdbc:mariadb://localhost:3306/companyCSV";
        String user = "root";
        String passwd = "root";

        try (Connection con =
        DriverManager.getConnection(url, user, passwd);){
            System.out.println("Connexió exitosa a la base de dades!");
        } catch (SQLException e) {
            System.err.println("Error d'establiment de connexió: " + e.getMessage());
        }
    }
}

【问题讨论】:

  • 你安装了JDBC驱动吗?
  • 不,我在eclipse的项目中使用JRE库,我没有真正安装它

标签: java jdbc mariadb


【解决方案1】:

安装 JDBC 驱动

要通过JDBC 将您的Java 应用程序连接到MariaBD 服务器,您需要获取JDBC driver

如果使用 Maven 作为您的依赖管理器,您必须将以下依赖添加到您的 pom.xml 文件中。这将为您的项目下载 MariaDB 驱动程序。

<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>2.7.2</version>
</dependency>

【讨论】:

    【解决方案2】:

    您需要先加载驱动程序。我从未使用过 MariaDB,但对于大多数数据库,您需要执行类似的操作

    Class.forName("<class implementing the driver">);
    

    您一定会在 MariaDB 主页上找到一些示例。

    【讨论】:

    • 没有。多年来不需要致电Class.forName。 JDBC 架构在很久以前就进行了改进,使用 Java Service Provider Interface (SPI) 自动加载和注册所有可用的 JDBC 驱动程序。
    • @BasilBourque 虽然是这样,但如果驱动程序不在初始类路径上,则 SPI 不起作用,但例如在上下文类路径上(例如,驱动程序位于 WEB-INF/lib战争)。
    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 2013-06-18
    • 1970-01-01
    • 2013-06-03
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多