摘要:整合第三方技术
1.3整合第三方技术
整合JUnit
整合MyBatis
整合MyBatis-plus
整合Druid
一、整合JUnit
创建springboot模块的时候,junit 是默认加入的
测试类使用@SpringBootTest修饰
使用自动装配的形式添加要测试的对象
1 | @SpringBootTest |
问题:
当我们的测试类和我们的引导类不在同一个包下或者子包,就会出现找不到的报错信息 解决的方法是在我们的测试类中的@SpringBootTest 后面加上(classes = 引导类的名称);即可定位到引导类的所在的位置
如果不配置则会在测试类的,所在包和父包中寻找带有注解@SpringBootConfiguration的类,而这个注解一般包含在@SpringBootApplication注解中
二、整合MyBatis
勾选Mybatis技术,导入Mybatis对应的starter
数据库连接相关信息转换为配置,写在 properties.yml文件中
数据库SQL映射需要添加@Mapper 被Spring容器识别到,容器识别到之后自动代理产生代理对象
整合MyBatis常见问题
当版本降下来之后,出现报错
解决方法:使用新的驱动,com.mysql.cj.jdbc.Driver
三、整合MP
springboot_06_mybatis_plus
需要添加的第三方技术无法通过勾选确定时,需要手工添加坐标
创建新的模块,依赖选择不需要选择mybatis framework,选择MySQL的驱动就可以了
⭐手动添加springboot整合MyBatis-plus的坐标,可以通过mvnrepository获取
1
2
3
4
5<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>由于springboot没有收录mp的坐标版本,所以需要指定对应的版本号
添加了mybatis-plus-boot-starter 之后,就不用添加springbootstarter
定义数据层接口与映射配置,继承BaseMapper
1
2
3
public interface UserDao extends BaseMapper<User> {
}测试
1
2
3
4
5
6
7
8
9
10
11
class Springboot06MybaitsPlusApplicationTests {
private UserDao userDao;
void contextLoads() {
System.out.println(userDao.selectById(1));
}
}
注意:
如果我们在测试的过程中,出现xxx doesn’s exist的时候
原因是因为,mp在自动映射的时候,只能识别到与实体类同名的类,当数据库的表名不一致时,就会报错
解决的方法:
在properties.yml文件中,添加mp 的配置
1 | mybatis-plus: |
在其中添加我们数据库中设置的表的前缀
四、整合Druid
Druid属于第三方依赖,依然去mvnrepository获取对应的坐标 第三方starter
1 | <dependency> |
变更使用druid的配置方式