java datasource mysql,无法将MySQLDataSource转换为java.sql.driver

起初看起来很简单,但是当我真正尝试运行我的应用程序时,它出错了。下面的代码是一个函数在我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很陌生,所以我不知道我是否在问题中提供了足够的信息。如果情况并非如此,请说明。

+0

'DataSource'不是'Driver'。改用'setDataSourceClassName()'。 –

+0

@Kayaman你可以把它变成答案吗?谢谢。 –