Spring Boot App可以在H2上运行,但不能在AWS RDS上运行

问题描述

我用H2数据库创建了一个简单的Project Management App,它运行正常。但是,当我尝试在AWS上将数据源更改为MysqL时,出现错误

java.sql.sqlException: Access denied for user 'admin'@'ip.com' (using password: YES)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'iEmpRepo' defined in com.pma.scratch.demo.repos.iEmpRepo defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method Failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

现在我可以肯定我的连接凭据是正确的,因为我使用Datagrip进行连接就很好了,我什至在intellij中创建了一个新的spring boot应用程序,并且能够连接到相同的数据库并使用jpa创建表。 / p>

这是应用程序属性文件

spring.datasource.url=jdbc:MysqL://MysqL.....:3306/database_name
spring.datasource.username=admin
spring.datasource.password=*****

不知道为什么会出现拒绝访问错误,并且BeanCreation错误使我感到困惑,因为我的应用程序使用H2可以很好地创建bean。

解决方法

我认为司机不见了。添加此内容:

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

spring.datasource.driverClassName=com.mysql.jdbc.Driver

别忘了罐子

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.22</version>
</dependency> 

如果错误仍然存​​在,请使用此属性获取更多日志

debug=true