gpt4 book ai didi

java - 无法将 MySQLDataSource 转换为 java.sql.driver

转载 作者:行者123 更新时间:2023-11-29 05:14:09 35 4
gpt4 key购买 nike

在这个 Java 项目中,我想尝试与 HikariCP 一起工作,看看我是否愿意。

一开始看起来很简单,但是当我实际尝试运行我的应用程序时,却出错了。下面的代码是我的DatabasePool.java

中的一个函数
    HikariConfig configuration = new HikariConfig();
configuration.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/testdb");
configuration.addDataSourceProperty("serverName","127.0.0.1");
configuration.addDataSourceProperty("port", 3306);
configuration.addDataSourceProperty("databaseName", "testdb"));
configuration.addDataSourceProperty("user", "root");
configuration.addDataSourceProperty("password", "123");
configuration.setDriverClassName("com.mysql.jdbc.jdbc2.optional.MysqlDataSource");
this.database = new HikariDataSource(configuration);
return true;

出于某种原因,当它运行时,我收到以下错误:

[main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-0 - is starting.
[main] WARN com.zaxxer.hikari.util.DriverDataSource - Registered driver with driverClassName=org.mariadb.jdbc.MySQLDataSource was not found, trying direct instantiation.
[main] WARN com.zaxxer.hikari.util.DriverDataSource - Could not instantiate instance of driver class org.mariadb.jdbc.MySQLDataSource, trying JDBC URL resolution
java.lang.ClassCastException: org.mariadb.jdbc.MySQLDataSource cannot be cast to java.sql.Driver

我检查了该类是否存在于我的项目中,确实存在。我实在想不出这是什么原因。

我是 Java 的新手,所以我不知道我是否在问题中提供了足够的信息。如果不是这种情况,请说明。

最佳答案

DataSource 不是Driver。改为使用 setDataSourceClassName()(我似乎记得它被推荐在 setDriverClassName() 之上)。

关于java - 无法将 MySQLDataSource 转换为 java.sql.driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35459930/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com