Java 未找到使用 driverClassName=org.gjt.mm.mysql.Driver 注册的驱动程序
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/50900677/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Registered driver with driverClassName=org.gjt.mm.mysql.Driver was not found
提问by Valentyn Hruzytskyi
I'm developing a project and using a spring. It works correctly, but when I added a database to it, I got some exceptions.
我正在开发一个项目并使用弹簧。它工作正常,但是当我向其中添加数据库时,出现了一些异常。
WARN com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=org.gjt.mm.mysql.Driver was not found, trying direct instantiation.
ERROR com.zaxxer.hikari.pool.HikariPool : root - Exception during pool initialization.
java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871) ~[mysql-connector-java-5.1.46.jar:5.1.46]......
dependencies:
依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.detectlanguage</groupId>
<artifactId>detectlanguage</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.9.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
application.property:
application.property:
#Database settings
spring.datasource.url=jdbc:mysql://localhost:3306/mSecond
spring.jpa.hibernate.ddl-auto=update
spring.datasource.name=name
spring.datasource.password=password
spring.datasource.driver-class-name=org.gjt.mm.mysql.Driver
spring.datasource.tomcat.connection-properties=useUnicode=true;characterEncoding=utf-8;
spring.datasource.sql-script-encoding=UTF-8
The address of the database is correct and working - 100%
数据库地址正确且有效 - 100%
Can someone show another method, more correct for database initialization in the spring?
有人可以展示另一种方法,更适合春季数据库初始化吗?
采纳答案by Sven Hakvoort
If you change your properties file with the following lines it should work:
如果您使用以下几行更改属性文件,它应该可以工作:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
This driver class is fine for mysql and you need to use spring.datasource.username=
instead of spring.datasource.name=
这个驱动程序类对于 mysql 很好,你需要使用spring.datasource.username=
而不是spring.datasource.name=
I hope this helps you
我希望这可以帮助你
回答by Knight Rider
Do not use this since it has been DEPRECATED!
不要使用它,因为它已被弃用!
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Use this instead
改用这个
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root