今天在做一个小项目时,test先后出现springboot引入mbatis-plus依赖单元测试时出现 Error:(3, 44) java: 程序包com.baomidou.mybatisplus.core.mapper不存在。

Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:异常。

内心超级崩溃。。。。

这里记录一下第一个问题的解决方法:springboot引入mbatis-plus依赖单元测试时出现 Error:(3, 44) java: 程序包com.baomidou.mybatisplus.core.mapper不存在。

报错截图,这里借用一下下别人的报错,因为我的已经好了,呜呜。。

 解决:1.首先看一下自己的配置文件pom.xml,是否配置正确

 2.如果配置没问题的话,就进行这一步,在这个设置位置选上,重新运行项目

 第一个问题应该就可以啦,如果还有问题,点击maven的小闪电和重启一下。

 

第二个异常:Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:异常。

这个问题,首先需要仔细查看一下,自己的异常内容到底是什么

1.我遇到的问题,异常后面写着Database xxx not found--》“找不到数据库XXX”:

解决:原因是我配置application文件时,数据库名称本身就写错了。。。。

 正确的是图中红箭头的配置名称,我一开始写成了根连接名字了,不是mydatabase!

 2.如果是数据库连接异常:the database connection exception

解决:则需要改写application文件配置数据库的语句:

1、这里的 url 使用了 ?serverTimezone=GMT%2B8 后缀,因为Spring Boot 2.1 集成了 8.0版本的jdbc驱动,这个版本的 jdbc 驱动需要添加这个后缀,否则运行测试用例报告如下错误:

java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more

2、这里的 driver-class-name 使用了 com.mysql.cj.jdbc.Driver ,在 jdbc 8 中 建议使用这个驱动,之前的 com.mysql.jdbc.Driver 已经被废弃,否则运行测试用例的时候会有 WARN 信息

#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mydata?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

经过上面的配置,数据库以尝应该就解决了。

3.还有一个问题是在整合SpringBoot + Mybatis + MP过程中,出现异常信息 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=…) with your test

这个问题是test这里发生的:

解决:是在SpringBootTes后面加上classes = MyApplication.class,MyApplication的名字需要改成自己的!!,如图两个红箭头。

 以上就是全部解决内容了,完结撒花~~~~~~

 


 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐