Caused by: java.sql.SQLException: com.mysql.cj.jdbc.Driver
解决方法:我直接去掉pom.xml 文件下 mysql驱动类的版本号,让他自动下载哪个就是哪个。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource [com/alibaba/druid/spring/boot/autoconfigure/DruidDataSourceAutoConfigure.class]: Invocation of init method failed; nested exception is java.sql.SQLException: Access denied for user ‘***’@‘localhost’ (using password: YES)
解决方法:我用的是腾讯云的云服务器,登录云服务器之后发现mysql 没有开,执行 systemctl start mysql 开启mysql就可以了。
中间还出现了一个错误,就是druid无法获取url值,看到application.yml中url、username等字段是在 spring.datasource.druid 目录下的(刚开始直接写在了 spring.datasource 目录下)
spring:
datasource:
# 使用阿里的Druid连接池(易于监控)
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: jdbc:mysql://xxx:3306/tabelName?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&useOldAliasMetadataBehavior=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: long980212
# 连接池的配置信息,初始化大小、最大、最小
initial-size: 5
min-idle: 5
max-active: 20
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘com.lt.informationreleasesystem.TestMybatisPlusApplicationTests’: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.lt.informationreleasesystem.data.dao.UserMapper’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup="", name="", description="", authenticationType=CONTAINER, type=java.lang.Object.class, mappedName="")}
看报错信息可以知道,dao文件夹下的 userMapper 类没有被加载。
解决:在启动类加上 @MapperScan(“com.baomidou.springboot.*.dao”) - *Mapper.java 所在的包